home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Information / Digests / CSMP Digest / volume 3 / csmp-digest-v3-043 / doubleCR.1 < prev   
Encoding:
Text File  |  1995-12-31  |  126.4 KB  |  3,164 lines

  1. C.S.M.P. Digest             Sat, 09 Jul 94       Volume 3 : Issue 43
  2.  
  3. Today's Topics:
  4.  
  5.         7.5 Floating Window (How To use?)
  6.         Can Mac's survive without AppleTalk?
  7.         CodeWarrior and CODE Resources
  8.         Fast full screen scrolling: impossible?
  9.         MacPerl- Redirecting STDIN & STDOUT
  10.         PowerPC floating point issue
  11.         Q: Thread Manager - How do I benefit?
  12.         prevent update when call TEDelete, TEInsert??
  13.  
  14.  
  15.  
  16. The Comp.Sys.Mac.Programmer Digest is moderated by Francois Pottier
  17. (pottier@clipper.ens.fr).
  18.  
  19. The digest is a collection of article threads from the internet newsgroup
  20. comp.sys.mac.programmer.  It is designed for people who read c.s.m.p. semi-
  21. regularly and want an archive of the discussions.  If you don't know what a
  22. newsgroup is, you probably don't have access to it.  Ask your systems
  23. administrator(s) for details.  If you don't have access to news, you may
  24. still be able to post messages to the group by using a mail server like
  25. anon.penet.fi (mail help@anon.penet.fi for more information).
  26.  
  27. Each issue of the digest contains one or more sets of articles (called
  28. threads), with each set corresponding to a 'discussion' of a particular
  29. subject.  The articles are not edited; all articles included in this digest
  30. are in their original posted form (as received by our news server at
  31. nef.ens.fr).  Article threads are not added to the digest until the last
  32. article added to the thread is at least two weeks old (this is to ensure that
  33. the thread is dead before adding it to the digest).  Article threads that
  34. consist of only one message are generally not included in the digest.
  35.  
  36. The digest is officially distributed by two means, by email and ftp.
  37.  
  38. If you want to receive the digest by mail, send email to listserv@ens.fr
  39. with no subject and one of the following commands as body:
  40.     help                        Sends you a summary of commands
  41.     subscribe csmp-digest Your Name    Adds you to the mailing list
  42.     signoff csmp-digest            Removes you from the list
  43. Once you have subscribed, you will automatically receive each new
  44. issue as it is created.
  45.  
  46. The official ftp info is //ftp.dartmouth.edu/pub/csmp-digest.
  47. Questions related to the ftp site should be directed to
  48. scott.silver@dartmouth.edu. Currently no previous volumes of the CSMP
  49. digest are available there.
  50.  
  51. Also, the digests are available to WAIS users.  To search back issues
  52. with WAIS, use comp.sys.mac.programmer.src. With Mosaic, use
  53. http://www.wais.com/wais-dbs/comp.sys.mac.programmer.html.
  54.  
  55.  
  56. -------------------------------------------------------
  57.  
  58. >From denboer@cc.umanitoba.ca (David Den Boer)
  59. Subject: 7.5 Floating Window (How To use?)
  60. Date: 22 Jun 1994 01:49:42 GMT
  61. Organization: The University of Manitoba
  62.  
  63. I have seen various discussions on the appearance of the 7.5 floater, but
  64. I don't care about that (although I find it quite attractive!)
  65. I want to know how to use it from my apps?!?!
  66. Is there a standard built in WDEF, or do I have to copy and paste it from
  67. some other resource?
  68.  
  69. How to unlock the funkiness of the window is a more appropriate title...
  70.  
  71. Thanks
  72. -- 
  73. David A. denBoer            University of Manitoba
  74. denboer@CC.UManitoba.CA            Computer Services -- User Services
  75.  
  76. +++++++++++++++++++++++++++
  77.  
  78. >From trygve@netcom.com (Trygve Isaacson)
  79. Date: Thu, 23 Jun 1994 03:30:39 GMT
  80. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  81.  
  82. The resource ID is 125. So when creating your window, specify a procID of 
  83. 125*16 + variants to use it. The variants I've discovered are:
  84. 4 - adds a zoom box
  85. 8 - puts the title bar on the left
  86. (12 for both)
  87.  
  88. Trygve Isaacson
  89. Wall Data Incorporated
  90.  
  91.  
  92. +++++++++++++++++++++++++++
  93.  
  94. >From tgaul@halcyon.com (Troy Gaul)
  95. Date: Wed, 22 Jun 1994 21:14:02 -0700
  96. Organization: Infinity Systems
  97.  
  98. In article <2u85bm$aik@canopus.cc.umanitoba.ca>, denboer@cc.umanitoba.ca
  99. (David Den Boer) wrote:
  100.  
  101. > I have seen various discussions on the appearance of the 7.5 floater, but
  102. > I don't care about that (although I find it quite attractive!)
  103. > I want to know how to use it from my apps?!?!
  104. > Is there a standard built in WDEF, or do I have to copy and paste it from
  105. > some other resource?
  106. > How to unlock the funkiness of the window is a more appropriate title...
  107.  
  108. First, make sure the user is running System 7.5.  It isn't available in
  109. eariler System versions -- Apple has said that they will release a
  110. 'compatibility' WDEF that you will be able to include in your App that will
  111. call through to the System floater WDEF if it is present (like the Movable
  112. Modal WDEF they released for compatibility with System 6).
  113.  
  114. Second, call NewWindow:
  115.  
  116.     wind = NewWindow(wStorage, &rBounds, title, visFlag, wDefProcID,
  117. behind,
  118.                      goAwayFlag, refCon);
  119.  
  120. For the wDefProcID, pass in:
  121.  
  122.     (125 * 16 + procID)
  123.  
  124. 125 is the ID of the WDEF resource in the System file, and this is the
  125. equation Apple describes to make the Window Manager use a custom WDEF.  The
  126. procID will modify the WDEF in the following way:
  127.  
  128.     Add      To Get
  129.     ---      ------
  130.  
  131.      1       A windoid that hilights and dims depending on HiliteWindow.
  132.              The default is for the titlebar to always show the pattern.
  133.              (The default is bad if a dialog will appear in front of the 
  134.              floater because then the floater should appear dimmed.)
  135.  
  136.      2       To get a grow box.
  137.  
  138.      4       To get a zoom box.
  139.  
  140.      8       For a titlebar down the left hand side.
  141.  
  142. They can be added together to get a combination of the effects.  Also, if
  143. you pass in a non-empty string in 'title', it will be displayed in Geneva 9
  144. plain (assuming the titlebar is across the top).
  145.  
  146.  
  147. Note that if you use a grow box, there is a problem where the grow box will
  148. show through any windows in your application that appear above it. 
  149. Appearantly, the new WDEF is not obeying the window's clipping region when
  150. drawing the grow box. 
  151.  
  152. Also, the grow box is one pixel narrower than the standard grow box, which
  153. means that a scroll bar will look strange when scaled to match it, and it
  154. doesn't dim then the rest of the windoid dims (when procID 1 is used).  
  155.  
  156. The titlebar flashes more than it needs to when being redrawn, and I have
  157. also heard that there are some problems with multiple monitors.
  158.  
  159. _troy
  160. //////// //////___Troy Gaul_________________________tgaul@halcyon.com__ //
  161.   //    //       Infinity Systems ; Redmond, Washington                //
  162.  //    //  //  "Insert witty quote here."                             //
  163. //    //////________________________________________________________ //
  164.  
  165. +++++++++++++++++++++++++++
  166.  
  167. >From peter.lewis@info.curtin.edu.au (Peter N Lewis)
  168. Date: Thu, 23 Jun 1994 15:35:07 +0800
  169. Organization: NCRPDA, Curtin University
  170.  
  171. In article <2u85bm$aik@canopus.cc.umanitoba.ca>, denboer@cc.umanitoba.ca
  172. (David Den Boer) wrote:
  173.  
  174. >I have seen various discussions on the appearance of the 7.5 floater, but
  175. >I don't care about that (although I find it quite attractive!)
  176. >I want to know how to use it from my apps?!?!
  177. >Is there a standard built in WDEF, or do I have to copy and paste it from
  178. >some other resource?
  179. >
  180. >How to unlock the funkiness of the window is a more appropriate title...
  181.  
  182. Use WDEF 125, ie proc id 125*16+x where x is between 0 and 15 depending on
  183. whether you want a left hand title bar, with or without close/zoom boxes.
  184.  
  185. wp:=NewWindow(nil,bounds,"'Hello',true,125*16,pointer(-1),true,0);
  186.  
  187. Enjoy,
  188.    Peter.
  189. _______________________________________________________________________
  190. Peter N Lewis <peter.lewis@info.curtin.edu.au>       Ph: +61 9 368 2055
  191.  
  192. ---------------------------
  193.  
  194. >From mxmora@unix.sri.com (Matt Mora)
  195. Subject: Can Mac's survive without AppleTalk?
  196. Date: 16 Jun 1994 11:56:40 -0700
  197. Organization: SRI International, Menlo Park, CA
  198.  
  199. They are about to re-do the networks around here, putting in 
  200. fiber and ethernet everywhere. They were saying that
  201. they would no longer support AppleTalk. Of course I went
  202. into a tizzy and started sending memo's everywhere to whom
  203. ever I thought was in charge (which at SRI could be anybody or nobody).
  204. They mention the AppleTalk support would only be supported in the 
  205. near future and that you could do appletalk on subnets.
  206.  
  207. Is Apple moving away from AppleTalk? They seem to be under the impression
  208. that Apple is going away from appletalk and are moving to something else.
  209. I was at the WWDC and I don't remember any thing mentioned like this.
  210.  
  211. So if I only have a MacTCP connection from my mac to the network
  212. will I still be able to print, File Share,  do PowerTalk stuff,
  213. connect to other programs running on other macs, use the new MovieTalk,
  214. network backup and other cool things?
  215.  
  216. What would happen if Appletalk wasn't supported on your net?
  217.  
  218. Maybe I'm blowing this thing out of proportion and other companies
  219. are doing the same things. Does this sound like a logical thing
  220. to do? Is this going to save money?
  221.  
  222.  
  223. Thanks
  224.  
  225. Xavier
  226.  
  227.  
  228.  
  229. -- 
  230. ___________________________________________________________
  231. Matthew Xavier Mora                       Matt_Mora@sri.com
  232. SRI International                       mxmora@unix.sri.com
  233. 333 Ravenswood Ave                    Menlo Park, CA. 94025
  234.  
  235. +++++++++++++++++++++++++++
  236.  
  237. >From stan@astro.ocis.temple.edu (Stan Horwitz)
  238. Date: 16 Jun 1994 20:19:57 GMT
  239. Organization: Temple University, Academic Computer Services
  240.  
  241. Matt Mora (mxmora@unix.sri.com) wrote:
  242. : They are about to re-do the networks around here, putting in 
  243. : fiber and ethernet everywhere. They were saying that
  244. : they would no longer support AppleTalk. Of course I went
  245. : into a tizzy and started sending memo's everywhere to whom
  246. : ever I thought was in charge (which at SRI could be anybody or nobody).
  247. : They mention the AppleTalk support would only be supported in the 
  248. : near future and that you could do appletalk on subnets.
  249.  
  250. Macs can survive without Appletalk just fine. The Mac I am using now is
  251. ethernetted and it works fine in general and its much faster than Appletalk.
  252. The only thing I hate about this setup is that when the network service you
  253. are using, or the network itself, goes down or slows up, it can make your
  254. Mac look like it hangs until things on the network normalize again. This
  255. may just be a quirk in the ethernet card (Asante) my Mac has in it though.
  256.  
  257. --
  258. My name is Stan Horwitz and my E-mail address is stan@astro.ocis.temple.edu
  259. My opinions are all mine. They do not reflect those of my employer.
  260.  
  261.  
  262. +++++++++++++++++++++++++++
  263.  
  264. >From Carl R. Osterwald <carl_osterwald@nrel.gov>
  265. Date: Thu, 16 Jun 1994 22:49:15 GMT
  266. Organization: National Renewable Energy Laboratory
  267.  
  268. In article <2tq798$s6t@unix.sri.com> Matt Mora, mxmora@unix.sri.com
  269. writes:
  270. >They are about to re-do the networks around here, putting in 
  271. >fiber and ethernet everywhere. They were saying that
  272. >they would no longer support AppleTalk. Of course I went
  273. >into a tizzy and started sending memo's everywhere to whom
  274. >ever I thought was in charge (which at SRI could be anybody or nobody).
  275. >They mention the AppleTalk support would only be supported in the 
  276. >near future and that you could do appletalk on subnets.
  277. >
  278. >Is Apple moving away from AppleTalk? They seem to be under the impression
  279. >that Apple is going away from appletalk and are moving to something else.
  280. >I was at the WWDC and I don't remember any thing mentioned like this.
  281.  
  282. It is very common to confuse to completely different terms -- AppleTalk
  283. and LocalTalk.  AppleTalk is a network protocol, and LocalTalk is a
  284. method of network wiring.  AppleTalk can operate over LocalTalk, Ethernet
  285. or through a modem using ARA, for example.  Modern Ethernet routers are
  286. multiprotocal, which means they know how to deliver packets for a variety
  287. of protocols, including AppleTalk.  I suspect that what your networking
  288. types meant was that they would no longer support LocalTalk wiring (or
  289. PhoneNet, for that matter) which runs at about 240 kbs.  I really don't
  290. see Apple sacking AppleTalk (the protocol).
  291.  
  292. +++++++++++++++++++++++++++
  293.  
  294. >From Sean McMains <mcmains@unt.edu>
  295. Date: 16 Jun 1994 22:02:06 GMT
  296. Organization: University of North Texas
  297.  
  298. In article <2tq798$s6t@unix.sri.com> Matt Mora, mxmora@unix.sri.com
  299. writes:
  300. >Is Apple moving away from AppleTalk? They seem to be under the impression
  301. >that Apple is going away from appletalk and are moving to something else.
  302. >I was at the WWDC and I don't remember any thing mentioned like this.
  303.  
  304. It looks like some folks are getting confused on the AppleTalk vs.
  305. LocalTalk distinction. Ready? Everyone together:
  306.  
  307. "AppleTalk is a protocol. LocalTalk is a transport." :-)
  308.  
  309. With that out of my system, your question would seem to indicated that
  310. the net boys at your place are planning not to route AppleTalk from
  311. subnet to subnet on an ethernet network. In the current networking
  312. incarnation, this would mean that all the network stuff that doesn't rely
  313. on MacTCP would not work.
  314.  
  315. Apple has something called Open Transport in the works which will allow
  316. use of other transports to provide various functionality in a modular
  317. form (sort of a souped up, network-studly communication toolbox kinda
  318. thing). I don't know how backward compatible it will be, but the
  319. presentation I saw made it clear that they would not be replacing
  320. AppleTalk. I would suggest you fight as hard as you can to keep Appletalk
  321. routing on your networks until we see what Open Transport will do (and
  322. how backward-compatible it is with existing software).
  323. ========================================================================
  324. Sean McMains              | P.O. Box 13495          | Phone:817.565.2039
  325. Macintosh Support         | Denton TX 76203         | Fax  :817.565.4060
  326. University of North Texas | EMail: mcmains@unt.edu  |
  327. WWW: http://gaia.nms.unt.edu/cchome/mcmains/mcmains.html
  328.  
  329. +++++++++++++++++++++++++++
  330.  
  331. >From mxmora@unix.sri.com (Matt Mora)
  332. Date: 16 Jun 1994 14:07:46 -0700
  333. Organization: SRI International, Menlo Park, CA
  334.  
  335. In article <2tqc5d$av@cronkite.ocis.temple.edu> stan@astro.ocis.temple.edu (Stan Horwitz) writes:
  336.  
  337. >Macs can survive without Appletalk just fine. The Mac I am using now is
  338. >ethernetted and it works fine in general and its much faster than Appletalk.
  339. >The only thing I hate about this setup is that when the network service you
  340. >are using, or the network itself, goes down or slows up, it can make your
  341. >Mac look like it hangs until things on the network normalize again. This
  342. >may just be a quirk in the ethernet card (Asante) my Mac has in it though.
  343.  
  344. I just want to make it clear I'm talking about AppleTalk not LocalTalk. 
  345. LocalTalk  is the Twisted Pair wiring that runs a 230kb. I'm talking
  346. about the AppleTalk protocol that runs on any network medium be it LocalTalk
  347. Ethernet or what ever.
  348.  
  349.  
  350. Xavier
  351.  
  352.  
  353.  
  354.  
  355.  
  356. -- 
  357. ___________________________________________________________
  358. Matthew Xavier Mora                       Matt_Mora@sri.com
  359. SRI International                       mxmora@unix.sri.com
  360. 333 Ravenswood Ave                    Menlo Park, CA. 94025
  361.  
  362. +++++++++++++++++++++++++++
  363.  
  364. >From aelman@cs.stanford.edu (Adam Elman)
  365. Date: Thu, 16 Jun 1994 16:38:31 -0800
  366. Organization: Residential Computing, Stanford University
  367.  
  368. In article <2tqc5d$av@cronkite.ocis.temple.edu>, stan@astro.ocis.temple.edu
  369. (Stan Horwitz) wrote:
  370.  
  371. > Matt Mora (mxmora@unix.sri.com) wrote:
  372. > : They are about to re-do the networks around here, putting in 
  373. > : fiber and ethernet everywhere. They were saying that
  374. > : they would no longer support AppleTalk. Of course I went
  375. > : into a tizzy and started sending memo's everywhere to whom
  376. > : ever I thought was in charge (which at SRI could be anybody or nobody).
  377. > : They mention the AppleTalk support would only be supported in the 
  378. > : near future and that you could do appletalk on subnets.
  379. > Macs can survive without Appletalk just fine. The Mac I am using now is
  380. > ethernetted and it works fine in general and its much faster than Appletalk.
  381. > The only thing I hate about this setup is that when the network service you
  382. > are using, or the network itself, goes down or slows up, it can make your
  383. > Mac look like it hangs until things on the network normalize again. This
  384. > may just be a quirk in the ethernet card (Asante) my Mac has in it though.
  385.  
  386. There is some confusion on this point: AppleTalk is the software protocol,
  387. which is critical to standard Mac networking (printing, AppleShare, the new
  388. PowerTalk stuff, etc.).  The standard Mac hardware network wiring protocol,
  389. which was originally named AppleTalk, was renamed LocalTalk.  Farallon
  390. markets a version of LocalTalk which runs over standard phone wire and is
  391. called PhoneNet; this has generally become much more common than Apple's
  392. original LocalTalk wiring.
  393.  
  394. AppleTalk runs just fine over Ethernet, fiber, whatever.  Apple is
  395. definitely moving away from LocalTalk -- all new Macs except for the lowest
  396. models have built-in Ethernet ports.  But Apple is certainly not moving
  397. away from the software protocol.
  398.  
  399. -- 
  400. Adam Elman             | WWW: http://rescomp.stanford.edu/~elmanad/
  401. aelman@cs.stanford.edu | Finger me or check out my Web page for PGP key!!!
  402. - ------------------------------------------------------------------------
  403. "Sometimes I lie awake at night and ask 'Why me?'  Then a voice answers
  404. 'Nothing personal, your name just happened to come up.'" -- Peanuts
  405.  
  406. +++++++++++++++++++++++++++
  407.  
  408. >From jwbaxter@olympus.net (John W. Baxter)
  409. Date: Thu, 16 Jun 1994 19:18:36 -0700
  410. Organization: Internet for the Olympic Peninsula
  411.  
  412. In article <2tq798$s6t@unix.sri.com>, mxmora@unix.sri.com (Matt Mora)
  413. wrote:
  414.  
  415. > They are about to re-do the networks around here, putting in 
  416. > fiber and ethernet everywhere. They were saying that
  417. > they would no longer support AppleTalk. Of course I went
  418. > into a tizzy and started sending memo's everywhere to whom
  419. > ever I thought was in charge (which at SRI could be anybody or nobody).
  420. > They mention the AppleTalk support would only be supported in the 
  421. > near future and that you could do appletalk on subnets.
  422. > Is Apple moving away from AppleTalk? They seem to be under the impression
  423. > that Apple is going away from appletalk and are moving to something else.
  424. > I was at the WWDC and I don't remember any thing mentioned like this.
  425.  
  426. Well, the new machines have EtherNet built in.  One could certainly read a
  427. long-term trend away from AppleTalk in that.  And it makes
  428. sense...AppleTalk was fine 10 years ago...it's slow now, and not really
  429. likely to get faster (it's stressing the serial connection as it is).
  430.  
  431. > What would happen if Appletalk wasn't supported on your net?
  432.  
  433. I'd plug in the EtherNet connection on my 8100, and buy an EtherNet card
  434. for my IIci.  I may anyhow.
  435.  
  436.  
  437. -- 
  438. John Baxter    Port Ludlow, WA, USA  [West shore, Puget Sound]
  439.    No hablo Intel.
  440.    jwbaxter@pt.olympus.net
  441.  
  442. +++++++++++++++++++++++++++
  443.  
  444. >From jonpugh@netcom.com (Jon Pugh)
  445. Date: Fri, 17 Jun 1994 11:13:22 GMT
  446. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  447.  
  448. Matt Mora (mxmora@unix.sri.com) wrote:
  449.  
  450. > Is Apple moving away from AppleTalk? They seem to be under the impression
  451. > that Apple is going away from appletalk and are moving to something else.
  452. > I was at the WWDC and I don't remember any thing mentioned like this.
  453.  
  454. Open Transport (remember them? You got a T shirt at the netter's
  455. dinner) is only intended to replace MacTCP and the software layers,
  456. not the actual AppleTalk protocol.
  457.  
  458. Definately put up a fight.  I know that network guys just hate AppleTalk's
  459. constant address pinging.  ;)  As Nixon always said, "<expletive deleted> 
  460. them."  Don't let them demote AppleTalk to a second class protocol.
  461.  
  462. Jon
  463.  
  464. +++++++++++++++++++++++++++
  465.  
  466. >From mxmora@unix.sri.com (Matt Mora)
  467. Date: 17 Jun 1994 11:45:44 -0700
  468. Organization: SRI International, Menlo Park, CA
  469.  
  470. In article <jonpughCrJGIA.B08@netcom.com> jonpugh@netcom.com (Jon Pugh) writes:
  471. >Matt Mora (mxmora@unix.sri.com) wrote:
  472. >
  473. >> Is Apple moving away from AppleTalk? They seem to be under the impression
  474. >> that Apple is going away from appletalk and are moving to something else.
  475. >> I was at the WWDC and I don't remember any thing mentioned like this.
  476. >
  477. >Open Transport (remember them? You got a T shirt at the netter's
  478. >dinner) is only intended to replace MacTCP and the software layers,
  479. >not the actual AppleTalk protocol.
  480.  
  481. Yes I remember the shirt. I was wearing it yesterday at the standards meeting
  482. when I stood up and officially protested. 
  483.  
  484.  
  485. >Definately put up a fight.  I know that network guys just hate AppleTalk's
  486. >constant address pinging.  ;)  As Nixon always said, "<expletive deleted> 
  487. >them."  Don't let them demote AppleTalk to a second class protocol.
  488.  
  489. Well I talked to our network guru (the actual engineer here that is resposible
  490. for the new net) and he said that they have to pass Appletalk if we are
  491. going to continue to have Macs here. What does he care its just another 
  492. protocol.  He also said that he could install one gatorbox to just broadcast 
  493. zone names if need be. 
  494.  
  495. As always management has its collective head up a dark orafice. :-)
  496.  
  497.  
  498.  
  499. Xavier
  500.  
  501.  
  502.  
  503. -- 
  504. ___________________________________________________________
  505. Matthew Xavier Mora                       Matt_Mora@sri.com
  506. SRI International                       mxmora@unix.sri.com
  507. 333 Ravenswood Ave                    Menlo Park, CA. 94025
  508.  
  509. +++++++++++++++++++++++++++
  510.  
  511. >From doc@miracle.farallon.com (eric doc kampman)
  512. Date: Fri, 17 Jun 1994 17:44:49 -0800
  513. Organization: farallon
  514.  
  515. In article <jonpughCrJGIA.B08@netcom.com>, jonpugh@netcom.com (Jon Pugh)
  516. wrote:
  517.  
  518. > Matt Mora (mxmora@unix.sri.com) wrote:
  519. > > Is Apple moving away from AppleTalk? They seem to be under the impression
  520. > > that Apple is going away from appletalk and are moving to something else.
  521. > > I was at the WWDC and I don't remember any thing mentioned like this.
  522. > Open Transport (remember them? You got a T shirt at the netter's
  523. > dinner) is only intended to replace MacTCP and the software layers,
  524. > not the actual AppleTalk protocol.
  525.  
  526. uh oh.  anybody know what this means for custom 'mdev's?  (alternate LAP
  527. layer interfaces for MacTCP).
  528.  
  529. -- 
  530. doc@miracle.farallon.com
  531. Farallon didn't write this, Farallon isn't responsible for its con-
  532. tents, besides, who's Farallon anyway?
  533. ******************************************************************
  534. Look for the thing you can't find/Seeing with eyes makes you blind
  535.               You know you're out of your mind 
  536.  
  537. +++++++++++++++++++++++++++
  538.  
  539. >From Bruce@hoult.actrix.gen.nz (Bruce Hoult)
  540. Date: Sun, 19 Jun 1994 01:46:44 +1200 (NZST)
  541. Organization: (none)
  542.  
  543. jwbaxter@olympus.net (John W. Baxter) writes:
  544. > > Is Apple moving away from AppleTalk? They seem to be under the impression
  545. > > that Apple is going away from appletalk and are moving to something else.
  546. > > I was at the WWDC and I don't remember any thing mentioned like this.
  547. > Well, the new machines have EtherNet built in.  One could certainly read a
  548. > long-term trend away from AppleTalk in that.  And it makes
  549. > sense...AppleTalk was fine 10 years ago...it's slow now, and not really
  550. > likely to get faster (it's stressing the serial connection as it is).
  551. > > 
  552. > > What would happen if Appletalk wasn't supported on your net?
  553. > I'd plug in the EtherNet connection on my 8100, and buy an EtherNet card
  554. > for my IIci.  I may anyhow.
  555.  
  556. Aaarrggghhhh!!!!
  557.  
  558. Those EtherNet connections *are* running AppleTalk (99% of them, anyway)
  559.  
  560. Matt was quite clearly talking about AppleTalk-the-protocol-stack, and not
  561. AppleTalk-the-low-speed-wiring-system.  Even if you didn't know that the
  562. wiring has been called LocalTalk for at least five years now, it was pretty
  563. clear that he was talking about TCP/IP vs AppleTalk and not EtherTalk vs
  564. LocalTalk.
  565.  
  566. -- Bruce
  567.  
  568. +++++++++++++++++++++++++++
  569.  
  570. >From ce_rupn@pavo.concordia.ca (RUPNIK, CHRISTOPHER E.)
  571. Date: Sat, 18 Jun 1994 16:20:00 GMT
  572. Organization: Concordia University
  573.  
  574. In article <2854835204@hoult.actrix.gen.nz>, Bruce@hoult.actrix.gen.nz (Bruce Hoult) writes...
  575. >jwbaxter@olympus.net (John W. Baxter) writes:
  576. >> > Is Apple moving away from AppleTalk? They seem to be under the impression
  577. >> > that Apple is going away from appletalk and are moving to something else.
  578. >> > I was at the WWDC and I don't remember any thing mentioned like this.
  579. >> 
  580. >> Well, the new machines have EtherNet built in.  One could certainly read a
  581. >> long-term trend away from AppleTalk in that.  And it makes
  582. >> sense...AppleTalk was fine 10 years ago...it's slow now, and not really
  583. >> likely to get faster (it's stressing the serial connection as it is).
  584. >> 
  585. >> > 
  586. >> > What would happen if Appletalk wasn't supported on your net?
  587. >> 
  588. >> I'd plug in the EtherNet connection on my 8100, and buy an EtherNet card
  589. >> for my IIci.  I may anyhow.
  590. >Aaarrggghhhh!!!!
  591. >Those EtherNet connections *are* running AppleTalk (99% of them, anyway)
  592. >Matt was quite clearly talking about AppleTalk-the-protocol-stack, and not
  593. >AppleTalk-the-low-speed-wiring-system.  Even if you didn't know that the
  594. >wiring has been called LocalTalk for at least five years now, it was pretty
  595. >clear that he was talking about TCP/IP vs AppleTalk and not EtherTalk vs
  596. >LocalTalk.
  597. >-- Bruce
  598.  
  599.  Yes, he is correct. It appears that mac people will never learn the 
  600.  appletalk/localtalk/ethertalk differences and what whey actually mean.
  601.  
  602.  As for Appletalk being "dead" the original poster is correct. Apple is
  603.  supposed to implement a completely rewritten new stack called Oxx something
  604.  
  605.  The reason for this is that the appletalk stack is not native powerpc, this
  606.  means that an appleshare server based on powermac is just not going give
  607.  a reasonable performance....
  608.  
  609.   Chris Rupnik
  610.   ce_rupn@pavo.concordia.ca
  611.  
  612.  
  613. +++++++++++++++++++++++++++
  614.  
  615. >From jep@unlinfo.unl.edu (Stephen Panarelli)
  616. Date: 19 Jun 1994 11:30:40 GMT
  617. Organization: University of Nebraska--Lincoln    
  618.  
  619. Carl R. Osterwald (carl_osterwald@nrel.gov) wrote:
  620. : In article <2tq798$s6t@unix.sri.com> Matt Mora, mxmora@unix.sri.com
  621. : writes:
  622. : >They are about to re-do the networks around here, putting in 
  623. : >fiber and ethernet everywhere. They were saying that
  624. : >they would no longer support AppleTalk. Of course I went
  625. : >into a tizzy and started sending memo's everywhere to whom
  626. : >ever I thought was in charge (which at SRI could be anybody or nobody).
  627. : >They mention the AppleTalk support would only be supported in the 
  628. : >near future and that you could do appletalk on subnets.
  629. : >
  630. : >Is Apple moving away from AppleTalk? They seem to be under the impression
  631. : >that Apple is going away from appletalk and are moving to something else.
  632. : >I was at the WWDC and I don't remember any thing mentioned like this.
  633.  
  634. : It is very common to confuse to completely different terms -- AppleTalk
  635. : and LocalTalk.  AppleTalk is a network protocol, and LocalTalk is a
  636. : method of network wiring.  AppleTalk can operate over LocalTalk, Ethernet
  637.  
  638. Then there's LocalTalk Link Access Protocall....(:
  639.  
  640.  
  641. : or through a modem using ARA, for example.  Modern Ethernet routers are
  642. : multiprotocal, which means they know how to deliver packets for a variety
  643. : of protocols, including AppleTalk.  I suspect that what your networking
  644. : types meant was that they would no longer support LocalTalk wiring (or
  645. : PhoneNet, for that matter) which runs at about 240 kbs.  I really don't
  646. : see Apple sacking AppleTalk (the protocol).
  647.  
  648. steve.
  649. --
  650.     _/_/_/_/_/  _/      _/  _/_/_/_/   | Stephen Kemal Panarelli
  651.    _/          _/    _/    _/      _/  | University of Nebraska
  652.   _/_/_/_/_/  _/_/_/      _/_/_/_/     | Electrical Engineering
  653.          _/  _/    _/    _/            | jep@unlinfo.unl.edu
  654. _/_/_/_/_/  _/      _/  _/             | panzar@yoda.unl.edu
  655.  
  656. +++++++++++++++++++++++++++
  657.  
  658. >From ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  659. Date: 20 Jun 94 17:15:51 +1200
  660. Organization: University of Waikato, Hamilton, New Zealand
  661.  
  662. In article <jonpughCrJGIA.B08@netcom.com>, jonpugh@netcom.com (Jon Pugh) writes:
  663. >
  664. > Definately put up a fight.  I know that network guys just hate AppleTalk's
  665. > constant address pinging.  ;)
  666.  
  667. That pinging is the sound of AppleTalk configuring itself, so you don't have
  668. to!
  669.  
  670. We have maybe 500 Macs on campus. Nearly every one is an AppleTalk
  671. node, and most of them are TCP/IP nodes as well. There are a roughly equal
  672. number of Intel-based machines, workstations and the like, which are also
  673. TCP/IP nodes. So the ratio of TCP/IP nodes to AppleTalk nodes is 2:1. What
  674. do you think the administration overhead is? More like 10:1 in terms of
  675. personnel, time spent on address housekeeping, sorting out configuration
  676. stuffups by stupid users, and general aggro.
  677.  
  678. AppleTalk still remains the world's easiest-to-use local area networking
  679. protocol. No contest.
  680.  
  681. Lawrence D'Oliveiro                       fone: +64-7-856-2889
  682. Info & Tech Services Division              fax: +64-7-838-4066
  683. University of Waikato            electric mail: ldo@waikato.ac.nz
  684. Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+12:00
  685. Where would we be without rhetorical questions?
  686.  
  687. +++++++++++++++++++++++++++
  688.  
  689. >From somogyi@ziff.com (Stephan Somogyi)
  690. Date: Mon, 20 Jun 1994 06:32:10 GMT
  691. Organization: Digital Media
  692.  
  693. In article <jonpughCrJGIA.B08@netcom.com>, jonpugh@netcom.com (Jon Pugh) wrote:
  694.  
  695. > Open Transport (remember them? You got a T shirt at the netter's dinner)
  696. > is only intended to replace MacTCP and the software layers, not the
  697. > actual AppleTalk protocol.
  698.  
  699. Nonono!
  700.  
  701. OpenTransport comes with brand new protocol stacks for both AppleTalk and
  702. TCP/IP.
  703.  
  704. OT has a compatibility mode that allows existing software using today's
  705. AppleTalk and MacTCP API's to function, but internally it's all new stuff.
  706. OT will also be the only native AppleTalk protocol stack.
  707.  
  708. Back to Matt's original question: even if they ban AppleTalk off the
  709. backbone, you can still use it locally; it just won't be propagated
  710. through the router that connects you to the rest of your organization.
  711. This isn't necessarily a fundamentally Bad Thing -- it depends on whether
  712. you use AppleTalk services that are on the far end of your backbone
  713. router.
  714.  
  715. ____________________________________________________________________________
  716. Stephan Somogyi             Vorsprung durch Technik            Digital Media
  717.  
  718. +++++++++++++++++++++++++++
  719.  
  720. >From somogyi@ziff.com (Stephan Somogyi)
  721. Date: Mon, 20 Jun 1994 06:33:31 GMT
  722. Organization: Digital Media
  723.  
  724. In article <doc-170694174449@163.176.12.68>, doc@miracle.farallon.com
  725. (eric doc kampman) wrote:
  726.  
  727. > uh oh.  anybody know what this means for custom 'mdev's?  (alternate LAP
  728. > layer interfaces for MacTCP).
  729.  
  730. Check out the OpenTransport docs on the WWDC CD. Methinks there should be
  731. some info in there on how such stuff is handled under OT.
  732.  
  733. ____________________________________________________________________________
  734. Stephan Somogyi             Vorsprung durch Technik            Digital Media
  735.  
  736. +++++++++++++++++++++++++++
  737.  
  738. >From poorman@convex.com (Peter W. Poorman)
  739. Date: 20 Jun 94 16:50:10 GMT
  740. Organization: CONVEX Computer Corporation, Richardson, TX USA
  741.  
  742. In <doc-170694174449@163.176.12.68> doc@miracle.farallon.com (eric doc kampman) writes:
  743.  
  744. >uh oh.  anybody know what this means for custom 'mdev's?  (alternate LAP
  745. >layer interfaces for MacTCP).
  746.  
  747. The docs I looked at said that custom mdevs would NOT be supported.  This
  748. may have changed -- it's been awhile.  The docs were ftp-able from
  749. seeding.apple.com.
  750.  
  751. -- Pete
  752.    poorman@convex.com
  753.  
  754. +++++++++++++++++++++++++++
  755.  
  756. >From gabe@shiva.com (Gabriel Lawrence)
  757. Date: Mon, 20 Jun 94 21:47:28 GMT
  758. Organization: Shiva Corporation
  759.  
  760.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  info is available on Open Trnasport by anonymous
  761. ftp to 'seeding.apple.com.
  762.  
  763. - ---------------------------------------------------------------------
  764. Garry Hornbuckle        Product Manager, Communications & Collaboration
  765. - ---------------------------------------------------------------------
  766. "If I told you that I   | email      garryh@seeding.apple.com
  767.  spoke only for myself  | applelink  HORNBUCKLE1
  768.  would you believe me?" | fax        (408) 974-1211
  769. - ---------------------------------------------------------------------
  770.  
  771. +++++++++++++++++++++++++++
  772.  
  773. >From gabe@shiva.com (Gabriel Lawrence)
  774. Date: Wed, 22 Jun 94 04:42:11 GMT
  775. Organization: Shiva Corporation
  776.  
  777. >>AppleTalk still remains the world's easiest-to-use local area networking
  778. >>protocol. No contest.
  779. >
  780. >Definitely.  Until you want to change zones names of course ):
  781.  
  782. I would agree.  Unfortunately, the biggest advantage to using AppleTalk (its
  783. dynamic configurability) is also it's biggest drawback.  The "user
  784. friendliness" of AppleTalk prevents it from scaling well.  Intelligent
  785. routers that "learn" things like zone names are great - until your network
  786. becomes very large and you want to change zone names or network numbers. 
  787. Then you have to go through a tedious process of shutting down routers,
  788. restarting seed routers, etc...  It's certainly no picnic.
  789.  
  790. Emerging AppleTalk standards like AURP help to alleviate some of these
  791. difficulties but they all work by imposing some sort of static network
  792. mapping on interconnected networks.  That of course means that these are
  793. typically not "plug and play" solutions.  Oh well.
  794.  
  795. =Gabe=
  796.  
  797.  
  798. - ----------------------------------------------------------------
  799. Gabriel Lawrence                                    gabe@shiva.com
  800.                             Software Tool                                       
  801.                           Shiva Corporation
  802.  
  803. ---------------------------
  804.  
  805. >From Peter Vanags <peterv@uclink.berkeley.edu>
  806. Subject: CodeWarrior and CODE Resources
  807. Date: 23 Jun 1994 01:41:23 GMT
  808. Organization: UCB
  809.  
  810. >From reading all the raves about CodeWarrior here, I have no doubt that
  811. it's the environment of choice for applications development. But what
  812. about stand-alone CODE resource development?
  813.  
  814. Symantec's environment doesn't really give me all of what I need. Their
  815. C++ compiler doesn't support virtual functions in CODE resources, which
  816. dramatically cripples the object design. I can use C with Object
  817. Extensions to get virtual functions, but then I lose lots of desireable
  818. C++ features, like templates, constructor arguments, multiple
  819. inheritance, passing by reference, and so on. But I do get inline
  820. assembler in switching back to C. The A4-based globals in Symantec's
  821. environment are a great feature.
  822.  
  823. Does CodeWarrior support A4 globals like Symantec? How about inline (not
  824. function-call) assembler in C++? (Very important due to strange calling
  825. conventions of some CODE resources.) Custom CODE resource headers? (This
  826. would probably require inline assembler.) Virtual functions? The lack of
  827. templates in CW is a bummer, since I use a lot of container classes. If
  828. CW had all these features, I'd switch in a minute.
  829.  
  830. As I understand it, the only missing thing is the inline assembler. I
  831. assume it's because CW supports 68K/PPC development simultaneously. Will
  832. some clever CW feature make this possible soon? Would I have to write
  833. companion PPC assembler to the 68K stuff, and use pragmas to make sure
  834. the right version is compiled to each?
  835.  
  836. Also, how easy is it to compile these hybrid PPC/68K CODE resources in
  837. CW? I haven't delved into the PPC code fragment business yet, but to
  838. judge from the number of pages written about it in the develop article,
  839. it's not simple. What tools does CW provide to aid this process?
  840.  
  841. Peter
  842.  
  843. +++++++++++++++++++++++++++
  844.  
  845. >From Jens Miltner <jmiltner@theorie3.physik.uni-erlangen.de>
  846. Date: 24 Jun 1994 23:49:38 GMT
  847. Organization: Pole Position Software
  848.  
  849. In article <2uap83$ghe@agate.berkeley.edu> Peter Vanags,
  850. peterv@uclink.berkeley.edu writes:
  851. >From reading all the raves about CodeWarrior here, I have no doubt that
  852. >it's the environment of choice for applications development. But what
  853. >about stand-alone CODE resource development?
  854. >
  855. >Symantec's environment doesn't really give me all of what I need. Their
  856. >C++ compiler doesn't support virtual functions in CODE resources, which
  857. >dramatically cripples the object design. I can use C with Object
  858. >Extensions to get virtual functions, but then I lose lots of desireable
  859. >C++ features, like templates, constructor arguments, multiple
  860. >inheritance, passing by reference, and so on. But I do get inline
  861. >assembler in switching back to C. The A4-based globals in Symantec's
  862. >environment are a great feature.
  863.  
  864. I guess the problem with virtual functions in CODE resources is that 
  865. someone has to set up the virtual jump tables (which is usually done
  866. by the initialization code in an app - but there aint no such thing
  867. in a code resource...)
  868.  
  869. >Does CodeWarrior support A4 globals like Symantec? How about inline (not
  870. >function-call) assembler in C++? (Very important due to strange calling
  871. >conventions of some CODE resources.) Custom CODE resource headers? (This
  872. >would probably require inline assembler.) Virtual functions? The lack of
  873. >templates in CW is a bummer, since I use a lot of container classes. If
  874. >CW had all these features, I'd switch in a minute.
  875.  
  876. Yes, they do support A4 globals as well as some sort of inline assembly.
  877. The only drawback I found is that the inline assembler only works at 
  878. function level, i.e. you have to define a complete function as being
  879. inline assembler.
  880. Also, there is no way to generate CODE resources with a custom header.
  881. Each CODE resource will have a standard header (as proposed by Apple,
  882. I think). However, this means you can't write things like an RDEV, since
  883. they need some different header...
  884.  
  885. >As I understand it, the only missing thing is the inline assembler. I
  886. >assume it's because CW supports 68K/PPC development simultaneously. Will
  887. >some clever CW feature make this possible soon? Would I have to write
  888. >companion PPC assembler to the 68K stuff, and use pragmas to make sure
  889. >the right version is compiled to each?
  890.  
  891. Actually, there is little or no need to use assembler with the PowerPC,
  892. since for PPC, a C-Interface exists for all known/important functions
  893. and callbacks - even for those that used to need assembly routines.
  894.  
  895. >Also, how easy is it to compile these hybrid PPC/68K CODE resources in
  896. >CW? I haven't delved into the PPC code fragment business yet, but to
  897. >judge from the number of pages written about it in the develop article,
  898. >it's not simple. What tools does CW provide to aid this process?
  899.  
  900. What do you mean by 'hybrid CODE resources'? If you talk about e.g.
  901. fat binaries, there is no direct support yet. There is however an
  902. easy way to build native CODE resources with MW.
  903. Calling either CODE res type from either architecture is actually
  904. not really difficult. I guess there are samples out there that show
  905. how to use MixedMode and the CodeFragmentManager... If you've got
  906. it right once, it's peanuts the next time ;-)
  907.  
  908. -- Jens
  909.  
  910. ---------------------------
  911.  
  912. >From y-tony@bu.edu (Yan Lee)
  913. Subject: Fast full screen scrolling: impossible?
  914. Date: 8 Jun 1994 20:59:27 GMT
  915. Organization: Boston University
  916.  
  917. Hello,
  918.  
  919.     I have been reading a bit about animation and the Mac.  I have 
  920. read that full screen scrolling is almost impossible to do well on the 
  921. Mac.  I do understand that game machines have chips that specialize in 
  922. such activities.  Howver, is it still not possible for the Mac to do it?  
  923. Did C64 and PCs have special chips/functions that helped them to do rapid
  924. full-screen scrolling?  I would like to try to do rapid full-screen 
  925. scroilling on the Mac , but I am wondering if this ambition is a waste of 
  926. time.  I need opinions please!
  927.  
  928. Tony
  929.  
  930.  
  931. +++++++++++++++++++++++++++
  932.  
  933. >From d88-jwa@dront.nada.kth.se (Jon Wdtte)
  934. Date: 9 Jun 1994 10:13:06 GMT
  935. Organization: The Royal Institute of Technology
  936.  
  937. In <2t5bff$fnp@news.bu.edu> y-tony@bu.edu (Yan Lee) writes:
  938.  
  939. >Hello,
  940.  
  941. >    I have been reading a bit about animation and the Mac.  I have 
  942. >read that full screen scrolling is almost impossible to do well on the 
  943. >Mac.  I do understand that game machines have chips that specialize in 
  944. >such activities.  Howver, is it still not possible for the Mac to do it?  
  945. >Did C64 and PCs have special chips/functions that helped them to do rapid
  946. >full-screen scrolling?  I would like to try to do rapid full-screen 
  947.  
  948. No; the PC instead has an "inferior" video mode with large pixels
  949. which makes the amount of data to move smaller. The smallest Mac color
  950. screen is 512x384 pixels, and most are 640x480 or larger (13" or more)
  951. The PC screens are 320x200 pixels, so you have only 1/4 as many pixels
  952. to move. On the other hand, Mac graphics are much less blocky.
  953.  
  954. On the PowerPC, scrolling 640x400 or so is quite doable; put interesting
  955. borders around it if you want even better FPS (smaller area)
  956.  
  957. Cheers,
  958.  
  959.                     / h+
  960.                     Jon W{tte
  961. -- 
  962.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  963.  
  964.   I offer a pot of gold for Gates' head on a pole.
  965.   Naah - bashing Microsoft is "out." Love, Peace and Understanding!
  966.  
  967. +++++++++++++++++++++++++++
  968.  
  969. >From fixer@faxcsl.dcrt.nih.gov (Chris Gonna' Find Ray Charles Tate)
  970. Date: Thu, 9 Jun 1994 12:33:48 GMT
  971. Organization: DCRT, NIH, Bethesda, MD
  972.  
  973. In article <2t5bff$fnp@news.bu.edu>, y-tony@bu.edu (Yan Lee) writes:
  974. >
  975. >    I have been reading a bit about animation and the Mac.  I have 
  976. >read that full screen scrolling is almost impossible to do well on the 
  977. >Mac.  I do understand that game machines have chips that specialize in 
  978. >such activities.  Howver, is it still not possible for the Mac to do it?  
  979. >Did C64 and PCs have special chips/functions that helped them to do rapid
  980. >full-screen scrolling?  I would like to try to do rapid full-screen 
  981. >scroilling on the Mac , but I am wondering if this ambition is a waste of 
  982. >time.  I need opinions please!
  983.  
  984. The Commodore 64 had special hardware that allowed the programmer to
  985. shift the screen, either horizontally or vertically or both (independantly),
  986. in one-pixel increments, up to a delta of 8 pixels from 'normal.'  In
  987. combination with 32x32 hardware sprites and funky text-based graphics
  988. modes, this made relatively advanced graphics quite feasible even on
  989. the old CBM 6510 chip that it used.
  990.  
  991. PC graphics cheat.  :-)  They use a low resolution graphics mode.  DOOM,
  992. for example (the premier animated DOS game at present), draws the screen
  993. at 320x200 pixels.  Note that the smallest Macintosh screen is 512x342,
  994. which is more than twice as many pixels as 320x200.  A 640x400 screen
  995. is four times as many, and the (fairly standard) 640x480 screen is even
  996. more than that.
  997.  
  998. PowerMacs have the horsepower to scroll large portions of the screen
  999. at once.
  1000.  
  1001. - --------------------------------------------------------------------------
  1002. Christopher Tate             |  "There are 0 grams of fat in Mountain Dew.
  1003. MSD, Inc.                    |    That means it's good for you, right?"
  1004. fixer@faxcsl.dcrt.nih.gov    |         - Mike Wellman, in c.s.m.p
  1005.  
  1006. +++++++++++++++++++++++++++
  1007.  
  1008. >From y-tony@bu.edu (Yan Lee)
  1009. Date: 9 Jun 1994 14:59:00 GMT
  1010. Organization: Boston University
  1011.  
  1012. Chris Gonna' Find Ray Charles Tate (fixer@faxcsl.dcrt.nih.gov) wrote:
  1013. : In article <2t5bff$fnp@news.bu.edu>, y-tony@bu.edu (Yan Lee) writes:
  1014. : >
  1015.  
  1016. : The Commodore 64 had special hardware that allowed the programmer to
  1017. : shift the screen, either horizontally or vertically or both (independantly),
  1018. : in one-pixel increments, up to a delta of 8 pixels from 'normal.'  In
  1019. : combination with 32x32 hardware sprites and funky text-based graphics
  1020. : modes, this made relatively advanced graphics quite feasible even on
  1021. : the old CBM 6510 chip that it used.
  1022.  
  1023. Oh yeah, I remember the shifting-screen stuff.  I used to do that to make 
  1024. the whole screen shake for earthquake effects :)
  1025.  
  1026.  
  1027. : PC graphics cheat.  :-)  They use a low resolution graphics mode.  DOOM,
  1028. : for example (the premier animated DOS game at present), draws the screen
  1029. : at 320x200 pixels.  Note that the smallest Macintosh screen is 512x342,
  1030. : which is more than twice as many pixels as 320x200.  A 640x400 screen
  1031. : is four times as many, and the (fairly standard) 640x480 screen is even
  1032. : more than that.
  1033.  
  1034. Is there a source code for the Mac for lowres modes?  It must be possible
  1035. since Pathways into darkness has that mode to double the speed.
  1036.  
  1037.  
  1038. : PowerMacs have the horsepower to scroll large portions of the screen
  1039. : at once.
  1040.  
  1041. Unfortunately I have no access or money for a PPC even though it is 
  1042. reasonably price.  Maybe next year....
  1043.  
  1044. : ----------------------------------------------------------------------------
  1045. : Christopher Tate             |  "There are 0 grams of fat in Mountain Dew.
  1046. : MSD, Inc.                    |    That means it's good for you, right?"
  1047. : fixer@faxcsl.dcrt.nih.gov    |         - Mike Wellman, in c.s.m.p
  1048.  
  1049.  
  1050. Thanks for all the responses.
  1051.  
  1052. +++++++++++++++++++++++++++
  1053.  
  1054. >From bericksn@ac.dal.ca
  1055. Date: 9 Jun 94 14:47:34 -0300
  1056. Organization: Dalhousie University, Halifax, Nova Scotia, Canada
  1057.  
  1058. In article <2t5bff$fnp@news.bu.edu>, y-tony@bu.edu (Yan Lee) writes:
  1059. > Hello,
  1060. >     I have been reading a bit about animation and the Mac.  I have 
  1061. > read that full screen scrolling is almost impossible to do well on the 
  1062. > Mac.  I do understand that game machines have chips that specialize in 
  1063. > such activities.  Howver, is it still not possible for the Mac to do it?  
  1064. > Did C64 and PCs have special chips/functions that helped them to do rapid
  1065. > full-screen scrolling?  I would like to try to do rapid full-screen 
  1066. > scroilling on the Mac , but I am wondering if this ambition is a waste of 
  1067. > time.  I need opinions please!
  1068. Machines like the C64 have hardware assistance, and PCs have a 320x200
  1069. graphics mode & page flipping. It's still possible on the Mac, though--check
  1070. out the demo for Deliverance. The technique the programmer uses seems to
  1071. be to render frames at 320x200 and then blow them up. It still looks pretty
  1072. good, it was very playable at 640x400x16 on my LC 475. You'd have to do
  1073. a lot of assembly optimization to get such performance, I'd bet.
  1074.  
  1075. Sean
  1076.  
  1077. +++++++++++++++++++++++++++
  1078.  
  1079. >From ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  1080. Date: 10 Jun 94 16:30:59 +1200
  1081. Organization: University of Waikato, Hamilton, New Zealand
  1082.  
  1083. In article <2t6pvi$oie@news.kth.se>, d88-jwa@dront.nada.kth.se (Jon Wdtte) writes:
  1084. > In <2t5bff$fnp@news.bu.edu> y-tony@bu.edu (Yan Lee) writes:
  1085. >
  1086. >>    I have been reading a bit about animation and the Mac.  I have
  1087. >>read that full screen scrolling is almost impossible to do well on the
  1088. >>Mac.  I do understand that game machines have chips that specialize in
  1089. >>such activities.  Howver, is it still not possible for the Mac to do it?
  1090. >>Did C64 and PCs have special chips/functions that helped them to do rapid
  1091. >>full-screen scrolling?
  1092. >
  1093. > No; the PC instead has an "inferior" video mode with large pixels
  1094. > which makes the amount of data to move smaller. The smallest Mac color
  1095. > screen is 512x384 pixels, and most are 640x480 or larger (13" or more)
  1096. > The PC screens are 320x200 pixels, so you have only 1/4 as many pixels
  1097. > to move. On the other hand, Mac graphics are much less blocky.
  1098.  
  1099. Here's a thought: some Macs have a hardware pixel-doubling feature built into
  1100. their on-board video (I think the IIvi and IIvx have it). This was introduced
  1101. for use with QuickTime, but as I recall the driver calls are documented in
  1102. some QuickTime release notes somewhere, so you could use it for other
  1103. purposes...
  1104.  
  1105. Lawrence D'Oliveiro                       fone: +64-7-856-2889
  1106. Info & Tech Services Division              fax: +64-7-838-4066
  1107. University of Waikato            electric mail: ldo@waikato.ac.nz
  1108. Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+12:00
  1109.  
  1110. +++++++++++++++++++++++++++
  1111.  
  1112. >From mgr@aggroup.aggroup.com (Mike Russell)
  1113. Date: Fri, 10 Jun 1994 12:43:32 -0800
  1114. Organization: the ag group, inc.
  1115.  
  1116. Live scrolling, where the text moves immediately instead after the thumb
  1117. is released, is no problem on Mac or PC.  Processor speed has more
  1118. than kept up with increases in display depth and resolution.
  1119.  
  1120. Several years ago live scrolling was considered not Mac-like.  Now it
  1121. seems to be accepted.
  1122.  
  1123. +++++++++++++++++++++++++++
  1124.  
  1125. >From ingemar@lysator.liu.se (Ingemar Ragnemalm)
  1126. Date: 11 Jun 1994 07:50:43 GMT
  1127. Organization: (none)
  1128.  
  1129. y-tony@bu.edu (Yan Lee) writes:
  1130.  
  1131. >    I have been reading a bit about animation and the Mac.  I have 
  1132. >read that full screen scrolling is almost impossible to do well on the 
  1133. >Mac.  I do understand that game machines have chips that specialize in 
  1134. >such activities.  Howver, is it still not possible for the Mac to do it?  
  1135.  
  1136. I'm afraid it is impossible, except perhaps on some video boards. In general,
  1137. you must do it by rewriting the entire screen every frame. CopyBitsing
  1138. the entire screen won't be fast enough, and writing a custom blitter doesn't
  1139. help much, if at all.
  1140.  
  1141. The options you have are:
  1142.  
  1143. - Make it possible to step down to fewer bits per pixel. Running in 16
  1144. colors instead of 256 means twice the speed. Actually, it is possible to
  1145. make decent scrolling in 16 colors in a 512*340 area on a slow LC. In
  1146. b/w, it's 8 times faster!
  1147.  
  1148. - Make your graphics in a way that makes it possible to update only some
  1149. parts of the screen for each frame. That means big smooth areas. Sky
  1150. Shadow used that trick (but still didn't get quite the frame rate we
  1151. had ideally wanted), and so did OIDS.
  1152.  
  1153. - Run in a rather small area. This is what Bolo does.
  1154.  
  1155. --
  1156. - -
  1157. Ingemar Ragnemalm, PhD
  1158. Image processing, Mac shareware games
  1159. E-mail address: ingemar@isy.liu.se or ingemar@lysator.liu.se
  1160.  
  1161. +++++++++++++++++++++++++++
  1162.  
  1163. >From alex@metcalf.demon.co.uk (Alex Metcalf)
  1164. Date: Sat, 11 Jun 1994 10:50:42 GMT
  1165. Organization: Best Before Yesterday
  1166.  
  1167. In article <mgr-100694124332@mike.aggroup.com>, mgr@aggroup.aggroup.com
  1168. (Mike Russell) wrote:
  1169.  
  1170. > Live scrolling, where the text moves immediately instead after the thumb
  1171. > is released, is no problem on Mac or PC.  Processor speed has more
  1172. > than kept up with increases in display depth and resolution.
  1173. > Several years ago live scrolling was considered not Mac-like.  Now it
  1174. > seems to be accepted.
  1175.  
  1176. I missed the original post, but if it's about full screen scrolling at
  1177. 30fps, that's still pretty much impossible. There are several solutions
  1178. people have used, such as the draw-every-other-line approach in Deliverance
  1179. to improve speed on slower Macs. Also, QuickTime 2 does it, though that
  1180. doesn't count (I think it doesn't really redraw all the screen all the
  1181. time).
  1182.  
  1183. Someone sent me a test result from a PowerMac: straight blitting a 640x480
  1184. image to the screen and doing nothing else, the frame rate was only about
  1185. 25fps. Games would also do lots of drawing offscreen.
  1186.  
  1187.  
  1188.  
  1189. Alex
  1190.  
  1191. --
  1192. Alex Metcalf, Best Before Yesterday
  1193. Mac programmer in C, C++, HyperTalk, assembler
  1194. Juggler, 3-ball tricks
  1195.  
  1196. Internet:          alex@metcalf.demon.co.uk
  1197. Fax (UK):          (0570) 45636
  1198. Fax (US / Canada): 011 44 570 45636
  1199.  
  1200. +++++++++++++++++++++++++++
  1201.  
  1202. >From misc173@csc.canterbury.ac.nz
  1203. Date: 13 Jun 94 10:33:49 +1200
  1204. Organization: University of Canterbury, Christchurch, New Zealand
  1205.  
  1206.  
  1207. > I missed the original post, but if it's about full screen scrolling at
  1208. > 30fps, that's still pretty much impossible. There are several solutions
  1209. > people have used, such as the draw-every-other-line approach in Deliverance
  1210. > to improve speed on slower Macs. Also, QuickTime 2 does it, though that
  1211. > doesn't count (I think it doesn't really redraw all the screen all the
  1212. > time).
  1213. > Someone sent me a test result from a PowerMac: straight blitting a 640x480
  1214. > image to the screen and doing nothing else, the frame rate was only about
  1215. > 25fps. Games would also do lots of drawing offscreen
  1216.  
  1217.     I couldn't believe this post when I read it yesterday, so I went home
  1218. and wrote a 640x480x8bit RAM scroller, it starts at 0 and scrolls up through
  1219. RAM, copying it to the screen, one line per frame. It got 40 fps on my 605, and
  1220. I know that it could be optimised more, unrolling the inner loop, etc. I tried
  1221. a variety of resolutions and interpolation techniques and gained some
  1222. interesting insights. If you reduce the screen size the speed increases
  1223. proportionaly, 320x240x8bit at 150fps. Using alternate lines doubles the speed
  1224. again ( and looks fairly good against black ), pixel doubling is very slow, I
  1225. havent tried using movep yet, but it should speed things up ( if it works ).
  1226.     This routine uses only move.l, as I intend to program for 040's I will
  1227. try move16, which should speed things up about 3x.
  1228.     The final conclusion is that whoever wrote that ppc blitter ain't very
  1229. good, I know enough assembly to this, and other simple graphics routines, but
  1230. it still goes reasonably fast ( at least 10% faster than copybits ). Full
  1231. screen scrolling is possible, and if someone asks for it I'll even post my
  1232. code.
  1233.  
  1234. Jon.
  1235.  
  1236.  
  1237. +++++++++++++++++++++++++++
  1238.  
  1239. >From ivanski@world.std.com (Ivan M CaveroBelaunde)
  1240. Date: Mon, 13 Jun 1994 00:13:44 GMT
  1241. Organization: The World Public Access UNIX, Brookline, MA
  1242.  
  1243. ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) writes:
  1244. >> No; the PC instead has an "inferior" video mode with large pixels
  1245. >> which makes the amount of data to move smaller. The smallest Mac color
  1246. >> screen is 512x384 pixels, and most are 640x480 or larger (13" or more)
  1247. >> The PC screens are 320x200 pixels, so you have only 1/4 as many pixels
  1248. >> to move. On the other hand, Mac graphics are much less blocky.
  1249. >Here's a thought: some Macs have a hardware pixel-doubling feature built into
  1250. >their on-board video (I think the IIvi and IIvx have it). This was introduced
  1251. >for use with QuickTime, but as I recall the driver calls are documented in
  1252. >some QuickTime release notes somewhere, so you could use it for other
  1253. >purposes...
  1254.  
  1255. Yeah, this feature is available - it's not, however, widely available
  1256. enough to be of any use to anyone writing games. It is *definitely* in the
  1257. LC II and the Color Classic (I think you're right about the vi/vx, but
  1258. not altogether sure). It actually went in at first *only* because it was
  1259. needed by the Apple IIe card and was undocumented (ie twiddle this
  1260. memory mapped register) until QT 1.5, where video driver calls for them
  1261. were defined, as well as the GDHasScale/GetScale/SetScale calls. Oh, at
  1262. least in the LC II it only works in 16bpp mode, which is another problem
  1263. (since the flimsy VRAM capacity allows 16bpp only with the 12-inch
  1264. monitor, which most people don't have anyway). So although the feature is
  1265. there in theory, it is useless for practical purposes for games.
  1266.  
  1267. Plus the fact that the 16bpp restriction means that at quarter screen zoom
  1268. you're blasting the same amount of memory as if you were doing half-screen
  1269. "letterboxed" at the non-hw-zoom resolution. Plus the fact that the LC II
  1270. has the crippled 16-bit-wide data bus to the CPU, adding to the problem.
  1271. Plus ... nah, I could go on ...
  1272.  
  1273. I'd explore instead the trick the MacPlay people mentioned at the WWDC
  1274. that is used in AstroChase 3D: interlaced animation, which allows you
  1275. to blast every other line in a given animation frame, cutting your
  1276. blitting bandwith needs by half...
  1277.  
  1278. -Ivan
  1279. - -
  1280. Ivan Cavero Belaunde (ivanski@world.std.com)
  1281. Avid VideoShop Project Lead
  1282. Avid Technology, Inc.
  1283.  
  1284. +++++++++++++++++++++++++++
  1285.  
  1286. >From 103t_english@west.cscwc.pima.edu
  1287. Date: 12 Jun 94 18:28:03 MST
  1288. Organization: (none)
  1289.  
  1290. In article <1994Jun13.103349.1@csc.canterbury.ac.nz>, misc173@csc.canterbury.ac.nz writes:
  1291. >> I missed the original post, but if it's about full screen scrolling at
  1292. >> 30fps, that's still pretty much impossible. There are several solutions
  1293. >> people have used, such as the draw-every-other-line approach in Deliverance
  1294. >> to improve speed on slower Macs. Also, QuickTime 2 does it, though that
  1295. >> doesn't count (I think it doesn't really redraw all the screen all the
  1296. >> time).
  1297. >> 
  1298. >> Someone sent me a test result from a PowerMac: straight blitting a 640x480
  1299. >> image to the screen and doing nothing else, the frame rate was only about
  1300. >> 25fps. Games would also do lots of drawing offscreen
  1301. >     I couldn't believe this post when I read it yesterday, so I went home
  1302. > and wrote a 640x480x8bit RAM scroller, it starts at 0 and scrolls up through
  1303. > RAM, copying it to the screen, one line per frame. It got 40 fps on my 605, and
  1304. > I know that it could be optimised more, unrolling the inner loop, etc. I tried
  1305. > a variety of resolutions and interpolation techniques and gained some
  1306. > interesting insights. If you reduce the screen size the speed increases
  1307. > proportionaly, 320x240x8bit at 150fps. Using alternate lines doubles the speed
  1308. > again ( and looks fairly good against black ), pixel doubling is very slow, I
  1309. > havent tried using movep yet, but it should speed things up ( if it works ).
  1310. >     This routine uses only move.l, as I intend to program for 040's I will
  1311. > try move16, which should speed things up about 3x.
  1312. >     The final conclusion is that whoever wrote that ppc blitter ain't very
  1313. > good, I know enough assembly to this, and other simple graphics routines, but
  1314. > it still goes reasonably fast ( at least 10% faster than copybits ). Full
  1315. > screen scrolling is possible, and if someone asks for it I'll even post my
  1316. > code.
  1317. > Jon.
  1318.  
  1319. d e v e l o p 18 claims that the PPC blitter that they used was slower than
  1320. CopyBits because it didn't (presumably, for some unknown reason, *couldn't*)
  1321. take advantage of the 64-bit path of video. For this same reason, *BlockMove*
  1322. was also slower.
  1323.  
  1324. What is going on with the memory subsystem in the PowerMacs? Is it or isn't it
  1325. 64-bit? Is the DRAM video 64-bit? Is the AV video? Is the non-AV PDS video?
  1326.  
  1327.  
  1328. What is the actual and theoretical maximum speeds of a customized full-screen (ala
  1329. Doom/PID game) blitter from RAM into any of the three standard videos at 8, 16
  1330. and 32-bit? (I'm aware that DRAM video can't do 32-bit -leave that entry
  1331. blank).
  1332.  
  1333.  
  1334. For that matter, why can't BlockMove move data in 64-bit chunks when it is most
  1335. optimal to do so?
  1336.  
  1337. And finally, what happened to the load/store multiple instructions that are (I
  1338. assume?) faster on the 601, but will probably be slower "in future
  1339. implementations?"
  1340.  
  1341. I assume that all the boundry conditions to make these the most efficient way
  1342. to move memory in the 601 are met by the various video options? Certainly, one
  1343. can guarantee that a buffer can meet them by insuring that the beginning
  1344. address referenced starts on a 4-K boundry?
  1345.  
  1346.  
  1347. Is CopyBIts supposed to be faster than using a sequence of load/store multiple
  1348. instructions on the 601? (the article in d e v e l o p already suggested that
  1349. one should test for maximum speed anyways, so what harm to optimize for the
  1350. 601?)
  1351.  
  1352.  
  1353. Lawson
  1354.  
  1355. +++++++++++++++++++++++++++
  1356.  
  1357. >From seanmcd@ac.dal.ca
  1358. Date: 12 Jun 94 23:22:57 -0300
  1359. Organization: Dalhousie University, Halifax, Nova Scotia, Canada
  1360.  
  1361. In article <CrB7Aw.6E3@world.std.com>, ivanski@world.std.com (Ivan M CaveroBelaunde) writes:
  1362. > I'd explore instead the trick the MacPlay people mentioned at the WWDC
  1363. > that is used in AstroChase 3D: interlaced animation, which allows you
  1364. > to blast every other line in a given animation frame, cutting your
  1365. > blitting bandwith needs by half...
  1366. I think Chuck Yeager's Air Combat does this too. You can see interlacing
  1367. in the terrain if you rock the plane back and forth.
  1368.  
  1369. Sean
  1370.  
  1371. +++++++++++++++++++++++++++
  1372.  
  1373. >From Cameron Esfahani <dirty@apple.com>
  1374. Date: Mon, 13 Jun 1994 05:47:46 GMT
  1375. Organization: Apple Computer, Inc.
  1376.  
  1377. In article <RANG.94Jun12213306@icicle.winternet.com> Anton Rang,
  1378. rang@winternet.com writes:
  1379. >   Unless you're using the floating-point registers, you can't use the
  1380. > full 64-bit path efficiently, because there's no 64-bit integer load.
  1381. > I haven't looked at NQDCopyBits to see if it uses the FP registers; I
  1382. > suppose that it *could*, in cases where there is no scaling, shifting,
  1383. > etc. but it seems unlikely that it would.
  1384.  
  1385.  
  1386.  
  1387. It does...
  1388.  
  1389. Cameron Esfahani
  1390. dirty@apple.com
  1391.  
  1392. +++++++++++++++++++++++++++
  1393.  
  1394. >From d88-jwa@mumrik.nada.kth.se (Jon Wdtte)
  1395. Date: 13 Jun 1994 06:44:15 GMT
  1396. Organization: The Royal Institute of Technology
  1397.  
  1398. In <1994Jun13.103349.1@csc.canterbury.ac.nz> misc173@csc.canterbury.ac.nz writes:
  1399.  
  1400. >again ( and looks fairly good against black ), pixel doubling is very slow, I
  1401.  
  1402. Pixel doubling is not slow; remember; you only have to read one
  1403. quarter as much memory. A co-worker of mine blits 320x200 into
  1404. 640x400, using C, in 21 milliseconds for a 48 fps frame rate.
  1405. Using the interesting bit-splice instructions in the 601, you'd
  1406. probably get even better frame rates; no current Mac C compiler
  1407. knows those instructions :-)
  1408.  
  1409. -- 
  1410.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  1411.  "Don't stick a Fork in your Eye."
  1412.  
  1413. +++++++++++++++++++++++++++
  1414.  
  1415. >From stay@park.uvsc.edu (Steve Taylor)
  1416. Date: Mon, 13 Jun 1994 16:17:47 GMT
  1417. Organization: Utah Valley State College, Orem, Utah
  1418.  
  1419. >From article <1994Jun12.232257.24853@dal1>, by seanmcd@ac.dal.ca:
  1420. > In article <CrB7Aw.6E3@world.std.com>, ivanski@world.std.com (Ivan M CaveroBelaunde) writes:
  1421. >> 
  1422. >> I'd explore instead the trick the MacPlay people mentioned at the WWDC
  1423. >> that is used in AstroChase 3D: interlaced animation, which allows you
  1424. >> to blast every other line in a given animation frame, cutting your
  1425. >> blitting bandwith needs by half...
  1426. >> 
  1427. > I think Chuck Yeager's Air Combat does this too. You can see interlacing
  1428. > in the terrain if you rock the plane back and forth.
  1429. > Sean
  1430.  
  1431. Could someone describe this technique in more detail?  Are you talking
  1432. about leaving the other lines there and blitting the other half or
  1433. are you talking about doubling the height of the lines or what?
  1434. Thanks.
  1435.  
  1436. -- 
  1437. -- Steve Taylor (stay@wahoo.com  or  stay@park.uvsc.edu)
  1438. --
  1439. -- Life is the Dress Rehearsal for Hell.
  1440. --
  1441.  
  1442. +++++++++++++++++++++++++++
  1443.  
  1444. >From amanda@intercon.com (Amanda Walker)
  1445. Date: Mon, 13 Jun 1994 14:05:46 -0500
  1446. Organization: InterCon Systems Corporation, Herndon, VA  USA
  1447.  
  1448. y-tony@bu.edu (Yan Lee) writes:
  1449. > Is there a source code for the Mac for lowres modes?  It must be 
  1450. > possible since Pathways into darkness has that mode to double the speed. 
  1451.  
  1452. Pathways does this in software.  It renders offscreen at half resolution, and 
  1453. then doubles the pixels in software before putting them on the screen.
  1454.  
  1455.  
  1456. Amanda Walker
  1457. InterCon Systems Corporation
  1458.  
  1459.  
  1460.  
  1461. +++++++++++++++++++++++++++
  1462.  
  1463. >From mxmora@unix.sri.com (Matt Mora)
  1464. Date: 13 Jun 1994 13:22:29 -0700
  1465. Organization: SRI International, Menlo Park, CA
  1466.  
  1467. In article <1994Jun13.103349.1@csc.canterbury.ac.nz> misc173@csc.canterbury.ac.nz writes:
  1468.  
  1469. >    The final conclusion is that whoever wrote that ppc blitter ain't very
  1470. >good, I know enough assembly to this, and other simple graphics routines, but
  1471. >it still goes reasonably fast ( at least 10% faster than copybits ). Full
  1472. >screen scrolling is possible, and if someone asks for it I'll even post my
  1473. >code.
  1474.  
  1475.  
  1476. Well, post your code then. I'll run it on my 8100 and see how fast your
  1477. hand tuned assember is running emulated. If you have the c code, I can 
  1478. recompile it and see if it faster than CopyBits. 
  1479.  
  1480. Here's a clue use a fp register.
  1481.  
  1482.  
  1483. Anyway, I'm tweeking the PPC blitter code to try an experiment using the 
  1484. dirty rectangle approach for animation using the PPC blitter to blit
  1485. a fixed sized rect to the screen when that rect becomes dirty. The question
  1486. is when drawing in the gWorld, whats a fast way to flag that a rect has become
  1487. dirty?
  1488.  
  1489.  
  1490.  
  1491. Xavier
  1492.  
  1493.  
  1494.  
  1495.  
  1496. -- 
  1497. ___________________________________________________________
  1498. Matthew Xavier Mora                       Matt_Mora@sri.com
  1499. SRI International                       mxmora@unix.sri.com
  1500. 333 Ravenswood Ave                    Menlo Park, CA. 94025
  1501.  
  1502. +++++++++++++++++++++++++++
  1503.  
  1504. >From mxmora@unix.sri.com (Matt Mora)
  1505. Date: 13 Jun 1994 15:00:37 -0700
  1506. Organization: SRI International, Menlo Park, CA
  1507.  
  1508. In article <CrCFxp.79K@park.uvsc.edu> stay@park.uvsc.edu (Steve Taylor) writes:
  1509.  
  1510. >Could someone describe this technique in more detail?  Are you talking
  1511. >about leaving the other lines there and blitting the other half or
  1512. >are you talking about doubling the height of the lines or what?
  1513. >Thanks.
  1514.  
  1515.  
  1516. In astroChase 3d (or whatever its called) they paint only every other
  1517. line in the screen display. This speeds up the drawing by not having to
  1518. write half the data and makes it look like your viewing the action from
  1519. a tv monitor. 
  1520.  
  1521. I'm assuming that other game is writing first the odd lines in one pass
  1522. and then the even lines in another pass. 
  1523.  
  1524. These are clever way to reduce the amount of data that needs to be written.
  1525. As programmers we try to come of with these workaround because of the basic
  1526. limitation that the Mac can't paint the screen fast enough. Plain and Simple.
  1527.  
  1528. The goal is to write as little data to the screen as possible so that we can
  1529. concentrate on the rest of the game. If you thought about it hard enough
  1530. you probaly could come up with a way to paint the whole screen but then it
  1531. wouldn't be much of a game.
  1532.  
  1533. Also, there seems to be a magic equation that we strive for that can
  1534. write the most pixels in the least amount of time. So to gain any speed
  1535. we need top find out what pixels not to draw. If on the PPC
  1536. we can write a 64 bit word to memory, in 256 colors that's 8 pixels
  1537. in a row.  So if we were going to write one pixel we might as well
  1538. write 8. So its a balance of testing to see what needs to be drawn
  1539. and just blindy drawing.
  1540.  
  1541.  
  1542. Xavier
  1543.  
  1544.  
  1545.  
  1546.  
  1547. -- 
  1548. ___________________________________________________________
  1549. Matthew Xavier Mora                       Matt_Mora@sri.com
  1550. SRI International                       mxmora@unix.sri.com
  1551. 333 Ravenswood Ave                    Menlo Park, CA. 94025
  1552.  
  1553. +++++++++++++++++++++++++++
  1554.  
  1555. >From mxmora@unix.sri.com (Matt Mora)
  1556. Date: 13 Jun 1994 16:58:42 -0700
  1557. Organization: SRI International, Menlo Park, CA
  1558.  
  1559. In article <2tif65$s62@unix.sri.com> mxmora@unix.sri.com (Matt Mora) writes:
  1560.  
  1561. >Anyway, I'm tweeking the PPC blitter code to try an experiment using the 
  1562. >dirty rectangle approach for animation using the PPC blitter to blit
  1563. >a fixed sized rect to the screen when that rect becomes dirty. The question
  1564. >is when drawing in the gWorld, whats a fast way to flag that a rect has become
  1565. >dirty?
  1566.  
  1567. Doing some quick test on a 8100/80av in 256 color mode, using the PPC blitter
  1568. in develop, it can blit approximatly 2383 8x8 rects in one tick.
  1569.  
  1570. If you want 30fps you can probably double the number of rects. This still
  1571. won't let you do scrolling backgrounds unless your real clever in designing
  1572. your backgrounds.
  1573.  
  1574.  
  1575.  
  1576. Xavier
  1577.  
  1578.  
  1579. -- 
  1580. ___________________________________________________________
  1581. Matthew Xavier Mora                       Matt_Mora@sri.com
  1582. SRI International                       mxmora@unix.sri.com
  1583. 333 Ravenswood Ave                    Menlo Park, CA. 94025
  1584.  
  1585. +++++++++++++++++++++++++++
  1586.  
  1587. >From misc173@csc.canterbury.ac.nz
  1588. Date: 14 Jun 94 13:24:59 +1200
  1589. Organization: University of Canterbury, Christchurch, New Zealand
  1590.  
  1591.  
  1592. > Pixel doubling is not slow; remember; you only have to read one
  1593. > quarter as much memory. A co-worker of mine blits 320x200 into
  1594. > 640x400, using C, in 21 milliseconds for a 48 fps frame rate.
  1595. > Using the interesting bit-splice instructions in the 601, you'd
  1596. > probably get even better frame rates; no current Mac C compiler
  1597. > knows those instructions :-).
  1598.  
  1599.     What cpu is this on, possibly an 840av, if you look at the timings 
  1600. involved you will see that doubling 320x240 to 640x480 cannot go as fast
  1601. as just moving 640x480
  1602. Moving:
  1603.     Move.l (a0)+, (a1)+
  1604.     Move.l (a0)+, (a1)+
  1605.  
  1606.     moves 8 pixels from Ptr a0 to Ptr a1. Assuming a 68000 this takes 24
  1607.     clock cycles ( I dont have timing for anything else ).
  1608.  
  1609. Expanding:
  1610.     Move.l (a0)+, d0
  1611.     ;expand the pixels into another register
  1612.     Move.l d1, (a1)+
  1613.     Move.l d2, (a1)+
  1614.  
  1615.     this uses three reg->mem operations, 8 clkcs each, 24 total. The time
  1616.     required to shift the data is just as much, and it doesn't include any
  1617.     code to double the pixels.
  1618.  
  1619.     So why use pixel doubling? Because when you're creating the offscreen 
  1620. image you only have to do a quater the work. This is the only benefit, and it 
  1621. will not outway the slowdown of the blit all the time, each case has to be
  1622. determined individually.
  1623.     Personally I'm interested in the hardware expander in some Macs, much
  1624. more potential than software.
  1625.     For those who asked for my blitter, I'll turn it into a procedure that
  1626. takes arguements and checks rowbytes and post it when I get my modem in a
  1627. couple of days.
  1628.  
  1629. Jon.
  1630. as just shifting 640x480. 
  1631.  
  1632.  
  1633. +++++++++++++++++++++++++++
  1634.  
  1635. >From seanmcd@ac.dal.ca
  1636. Date: 13 Jun 94 21:29:36 -0300
  1637. Organization: Dalhousie University, Halifax, Nova Scotia, Canada
  1638.  
  1639. In article <CrCFxp.79K@park.uvsc.edu>, stay@park.uvsc.edu (Steve Taylor) writes:
  1640. > From article <1994Jun12.232257.24853@dal1>, by seanmcd@ac.dal.ca:
  1641. >> In article <CrB7Aw.6E3@world.std.com>, ivanski@world.std.com (Ivan M CaveroBelaunde) writes:
  1642. >>> 
  1643. >>> I'd explore instead the trick the MacPlay people mentioned at the WWDC
  1644. >>> that is used in AstroChase 3D: interlaced animation, which allows you
  1645. >>> to blast every other line in a given animation frame, cutting your
  1646. >>> blitting bandwith needs by half...
  1647. >>> 
  1648. >> I think Chuck Yeager's Air Combat does this too. You can see interlacing
  1649. >> in the terrain if you rock the plane back and forth.
  1650. >> 
  1651. >> Sean
  1652. > Could someone describe this technique in more detail?  Are you talking
  1653. > about leaving the other lines there and blitting the other half or
  1654. > are you talking about doubling the height of the lines or what?
  1655. > Thanks.
  1656. Well the description given above makes AstroChase 3D sound like CYAC,
  1657. although the only thing I've seen in AstroChase 3D is the venetian blind
  1658. style, rendering the frame onto every other line. Deliverance also has the
  1659. option to do this, as does a game called Gate. It looks to me like CYAC
  1660. does interlacing, i.e., there are no black lines alternating with the
  1661. graphics, but if you rock the plane
  1662. or turn rapidly, you can see the interlacing effect fairly easy in large
  1663. polygons. I don't know enough about 3D graphics to know whether you could
  1664. actually render even/odd scanlines or whether he's just splitting an off-screen
  1665. drawing into two blits.
  1666.  
  1667. Sean
  1668.  
  1669. +++++++++++++++++++++++++++
  1670.  
  1671. >From misc173@csc.canterbury.ac.nz
  1672. Date: 14 Jun 94 23:05:14 +1200
  1673. Organization: University of Canterbury, Christchurch, New Zealand
  1674.  
  1675.  
  1676. > Well, post your code then. I'll run it on my 8100 and see how fast your
  1677. > hand tuned assember is running emulated. If you have the c code, I can 
  1678. > recompile it and see if it faster than CopyBits.  
  1679. > Here's a clue use a fp register.
  1680. > Anyway, I'm tweeking the PPC blitter code to try an experiment using the 
  1681. > dirty rectangle approach for animation using the PPC blitter to blit
  1682. > a fixed sized rect to the screen when that rect becomes dirty. The question
  1683. > is when drawing in the gWorld, whats a fast way to flag that a rect has become
  1684. > dirty?
  1685.  
  1686. Yea, I'll post it soon, please note that I dont think I know enough assembly
  1687. to optimise it very well, I'll put unrolling notes in it to keep the size
  1688. down, I dont want to pay for 160 move.l 's. 
  1689. I dont know what you're doing, but with respect to a game I'd keep a list of 
  1690. currently valid rectangles and if the movement routine does stuff set a flag
  1691. in the list to true, you could add some code to combine the updated rectangles
  1692. into one ( in non-sprite situations ), or even just asume that all sprites are
  1693. moving.
  1694.  
  1695.  
  1696. The code will be here soon, at the moment I'm netting off a Vax, with my modem, 
  1697. yes I have it, I'll be able to post much more easily.
  1698.  
  1699. Jon.
  1700.  
  1701.  
  1702.  
  1703.  
  1704. +++++++++++++++++++++++++++
  1705.  
  1706. >From d88-jwa@mumrik.nada.kth.se (Jon Wdtte)
  1707. Date: 14 Jun 1994 13:04:10 GMT
  1708. Organization: The Royal Institute of Technology
  1709.  
  1710. In <1994Jun14.132459.1@csc.canterbury.ac.nz> misc173@csc.canterbury.ac.nz writes:
  1711.  
  1712. >> Pixel doubling is not slow; remember; you only have to read one
  1713. >> quarter as much memory. A co-worker of mine blits 320x200 into
  1714. >> 640x400, using C, in 21 milliseconds for a 48 fps frame rate.
  1715.  
  1716. >    What cpu is this on, possibly an 840av, if you look at the timings 
  1717. >involved you will see that doubling 320x240 to 640x480 cannot go as fast
  1718. >as just moving 640x480
  1719.  
  1720. This was a 6100/60.
  1721.  
  1722. ....
  1723.  
  1724. >    this uses three reg->mem operations, 8 clkcs each, 24 total. The time
  1725. >    required to shift the data is just as much, and it doesn't include any
  1726. >    code to double the pixels.
  1727.  
  1728. >    So why use pixel doubling? Because when you're creating the offscreen 
  1729. >image you only have to do a quater the work. This is the only benefit, and it 
  1730.  
  1731. You can't just count clocks out of the book; overlapping reads/writes,
  1732. caches, writeback, stalls, etc etc etc all have their effect.
  1733. And doubling doesn't just mean doubling on an X axis; you double on
  1734. the Y axis as well to achieve square 2x2 pixels.
  1735.  
  1736. As long as pixel doubling N pixels in registers is faster than N*3 read
  1737. cycles in memory, you'll gain blitting speed from the doubling as well
  1738. as having much less to render. In a world of slow DRAM and fast CPUs
  1739. (PowerPC) this is really important.
  1740.  
  1741. Cheers,
  1742.  
  1743.                     / h+
  1744.  
  1745. -- 
  1746.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  1747.     Not speaking for the Liberian Government.
  1748.  
  1749. +++++++++++++++++++++++++++
  1750.  
  1751. >From glalonde@vnet.ibm.com (Glen Lalonde)
  1752. Date: 14 Jun 1994 13:05:07 GMT
  1753. Organization: IBM Toronto Lab.
  1754.  
  1755. In a program I am working on(at home) I managed to double the frame rate
  1756. by using custom routines to draw into a off screen gworld. Using quickdraw
  1757. was just too slow. My routines just moves bytes.
  1758.  
  1759. After this is done, copybits is used to move the image to the users screen.
  1760. Even with everything aligned correctly and color tables(& index) matching,
  1761. copybits still takes way to long. I think having a 'use only quickdraw'
  1762. option will be added which will allow me to use a custom copybits unless
  1763. the user asked me not to.
  1764.  
  1765. I can't post exact frame rates since when the program runs(in none test mode)
  1766. only the part of the screen which has changed gets copybits to the users
  1767. screen. 
  1768.  
  1769. Any comments one what is the 'minimum' frame rate needed so that the
  1770. action looks reasonably smooth?
  1771.  
  1772.  
  1773. Glen.
  1774.  
  1775.  
  1776. +++++++++++++++++++++++++++
  1777.  
  1778. >From enry@dcs.qmw.ac.uk (Henry)
  1779. Date: 14 Jun 1994 16:42:39 GMT
  1780. Organization: Queen Mary & Westfield College, London, UK
  1781.  
  1782.  
  1783. Shuffling bytes about in memory just puts a huge burden on the processor
  1784. when it should be calculating something far less menial.
  1785. Why can I not change the video hardware's screen base pointer, and fill in the
  1786. newly exposed part of the screen. This eliminates as much bit copying as we
  1787. like (give enough vram set asside)...
  1788. It also has the added advantage of having an offscreen pixmap, and being
  1789. able to display it instantly without blasting bytes through the proccessor,
  1790. allowing sencible (fast) screen buffering.
  1791.  
  1792. Is it possible to reliably direct the macs hardware to a different
  1793. screen buffer?
  1794. (You can do it on a Mac512k :-)
  1795. If not, can I do it unreliably?
  1796. If not, you are all destined to fester in the mouldy crevis of a mac games
  1797. industry that has about as much chance of producing a decent game, as a 
  1798. cheese sandwich has of sneaking its way past the doorman at the Hilton.
  1799.  
  1800. Morgan,
  1801. --
  1802. Did I say I was a sardine?  Or a bus?
  1803.  
  1804.  
  1805. +++++++++++++++++++++++++++
  1806.  
  1807. >From Bruce@hoult.actrix.gen.nz (Bruce Hoult)
  1808. Date: Wed, 15 Jun 1994 03:01:36 +1200 (NZST)
  1809. Organization: (none)
  1810.  
  1811. mxmora@unix.sri.com (Matt Mora) writes:
  1812. > Anyway, I'm tweeking the PPC blitter code to try an experiment using the 
  1813. > dirty rectangle approach for animation using the PPC blitter to blit
  1814. > a fixed sized rect to the screen when that rect becomes dirty. The question
  1815. > is when drawing in the gWorld, whats a fast way to flag that a rect has become
  1816. > dirty?
  1817.  
  1818. An approach I've used:
  1819.  
  1820. keep an array with one element per scanline.  Each element consists of
  1821. two integers: the first dirty pixel in the line, and the last dirty
  1822. pixel in the line.
  1823.  
  1824. Unless there's some particular reason for always blitting a rect, I'd
  1825. just blit a scanline at a time, however much is needed.  When blitting
  1826. the line, round the start down and the end up to the nearest transfer
  1827. unit.
  1828.  
  1829. -- Bruce
  1830.  
  1831. +++++++++++++++++++++++++++
  1832.  
  1833. >From larsg@edb.tih.no (Lars Garden)
  1834. Date: 14 Jun 1994 18:03:14 GMT
  1835. Organization: Trondheim College of Engineering
  1836.  
  1837. Jon Wdtte (d88-jwa@dront.nada.kth.se) wrote:
  1838. : In <2t5bff$fnp@news.bu.edu> y-tony@bu.edu (Yan Lee) writes:
  1839.  
  1840. : >Hello,
  1841.  
  1842. : >    I have been reading a bit about animation and the Mac.  I have 
  1843. : >read that full screen scrolling is almost impossible to do well on the 
  1844. : >Mac.  I do understand that game machines have chips that specialize in 
  1845. : >such activities.  Howver, is it still not possible for the Mac to do it?  
  1846. : >Did C64 and PCs have special chips/functions that helped them to do rapid
  1847. : >full-screen scrolling?  I would like to try to do rapid full-screen 
  1848. : No; the PC instead has an "inferior" video mode with large pixels
  1849. : which makes the amount of data to move smaller.
  1850.  
  1851. "Inferior" video modes are quite useful when you want to sacrifice
  1852. resolution for speed. Is the Mac really not capable of using video modes
  1853. with a resolution less than 512x384?
  1854.  
  1855. --
  1856.  
  1857.      // Lars Gaarden. Student at Trondheim College of Engineering.
  1858.  \\ //  email: larsg@edb.tih.no  IRC: Lynet
  1859.   \X/   "But I will rise and I will return like a phoenix from the flame."
  1860.          - Siniad O'Conner
  1861.  
  1862.  
  1863. +++++++++++++++++++++++++++
  1864.  
  1865. >From julian@cs.aukuni.ac.nz (Julian Ross  Harris)
  1866. Date: 14 Jun 1994 23:37:59 GMT
  1867. Organization: University of Auckland
  1868.  
  1869. ingemar@lysator.liu.se (Ingemar Ragnemalm) writes:
  1870.  
  1871. >The options you have are:
  1872.  
  1873. >- Make it possible to step down to fewer bits per pixel. Running in 16
  1874. >colors instead of 256 means twice the speed. Actually, it is possible to
  1875. >make decent scrolling in 16 colors in a 512*340 area on a slow LC. In
  1876. >b/w, it's 8 times faster!
  1877.  
  1878. >- Run in a rather small area. This is what Bolo does.
  1879.  
  1880. Yes, I know it's hardly relevant these days, but i wrote this game on the 
  1881. Mac Plus that used offscreen bitmaps and fullscreen scrolling. The trick
  1882. was to scroll in 32 pixel increments (Ultima-type game). Then full screen
  1883. scrolling was instantaneous. Trouble is, 8 bit is 8x slower, and smooth means
  1884. minimum of 2 pixels at a time, which is a whole lot harder without hardware
  1885. assistance.
  1886.  
  1887. --
  1888. Julian, Programmer, Comp. Sci, Univ. Auckland, julian@cs.auckland.ac.nz
  1889.  
  1890. +++++++++++++++++++++++++++
  1891.  
  1892. >From dwareing@apanix.apana.org.au (David Wareing)
  1893. Date: 14 Jun 94 15:21:50 GMT
  1894. Organization: Apanix Public Access Unix, +61 8 373 5485 (5 lines)
  1895.  
  1896. seanmcd@ac.dal.ca writes:
  1897.  
  1898. >In article <CrB7Aw.6E3@world.std.com>, ivanski@world.std.com (Ivan M CaveroBelaunde) writes:
  1899. >> 
  1900. >> I'd explore instead the trick the MacPlay people mentioned at the WWDC
  1901. >> that is used in AstroChase 3D: interlaced animation, which allows you
  1902. >> to blast every other line in a given animation frame, cutting your
  1903. >> blitting bandwith needs by half...
  1904. >> 
  1905. >I think Chuck Yeager's Air Combat does this too. You can see interlacing
  1906. >in the terrain if you rock the plane back and forth.
  1907.  
  1908. And of course there's always Deliverance. That demo still surprises me
  1909. every time I check it out. Just not used to scrolling graphics on the mac
  1910. I guess.
  1911.  
  1912. --
  1913. David Wareing
  1914. Adelaide, South Australia         dwareing@apanix.apana.org.au
  1915. - ------------------------------------------------------------
  1916. Overflight Software - Macintosh Games & Multimedia Programming
  1917.  
  1918. +++++++++++++++++++++++++++
  1919.  
  1920. >From Malicious_Monarch@nile.com (Malicious Monarch)
  1921. Date: Tue, 14 Jun 94 14:54:56 MDT
  1922. Organization: The Nile BBS
  1923.  
  1924. <<"Inferior" video modes are quite useful when you want to sacrifice resolution
  1925. for speed.>>
  1926.  
  1927.   That's true, but I don't know many people who would like to take a game with
  1928. pixelated graphics over one that has very precise -shall I say 'crisp'? :) -
  1929. graphics.  There's always more than one way to make a game...
  1930.  
  1931.  
  1932. -Eric A. Drumbor-
  1933.  
  1934.      Opinions posted are of the user, not the administration.
  1935.  
  1936. +++++++++++++++++++++++++++
  1937.  
  1938. >From Malicious_Monarch@nile.com (Malicious Monarch)
  1939. Date: Tue, 14 Jun 94 14:58:44 MDT
  1940. Organization: The Nile BBS
  1941.  
  1942. <<If not, you are all destined to fester in the mouldy crevis of a mac games
  1943. industry that has about as much chance of producing a decent game, as a  cheese
  1944. sandwich has of sneaking its way past the doorman at the Hilton.>>
  1945.  
  1946.    Haha ;)  Nice.  But since when does a minor limitation make a computer
  1947. completely inferior for decent games?  Come come, let's be a little more
  1948. optimistic...
  1949.  
  1950.  
  1951. -Eric A. Drumbor-
  1952.  
  1953.      Opinions posted are of the user, not the administration.
  1954.  
  1955. +++++++++++++++++++++++++++
  1956.  
  1957. >From d88-jwa@mumrik.nada.kth.se (Jon Wdtte)
  1958. Date: 15 Jun 1994 11:51:39 GMT
  1959. Organization: The Royal Institute of Technology
  1960.  
  1961. In <2tkmlv$602@beta.qmw.ac.uk> enry@dcs.qmw.ac.uk (Henry) writes:
  1962.  
  1963. >Why can I not change the video hardware's screen base pointer, and fill in the
  1964. >newly exposed part of the screen. This eliminates as much bit copying as we
  1965. >like (give enough vram set asside)...
  1966.  
  1967. 1) because then you'd have locked yourself into a specific screen
  1968. hardware setup. A MacPlus is different from a Toby Framebuffer is
  1969. different from a THinder/24 is different from a 8100/AV.
  1970.  
  1971. >Is it possible to reliably direct the macs hardware to a different
  1972. >screen buffer?
  1973.  
  1974. Only if you want to special-case for dozens of video cards.
  1975. Not to mention that half of them don't have enough extra RAM
  1976. to put any extra pixels in.
  1977.  
  1978. >If not, you are all destined to fester in the mouldy crevis of a mac games
  1979. >industry that has about as much chance of producing a decent game, as a 
  1980. >cheese sandwich has of sneaking its way past the doorman at the Hilton.
  1981.  
  1982. Well, the PowerPC does some pretty decent frame rates.
  1983. And I think Prince of Persia was a decent game, and SimCity 2000
  1984. still is.
  1985.  
  1986. Cheers,
  1987.  
  1988.                 / h+
  1989. -- 
  1990.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  1991.  
  1992.   "Practice random kindness, and senseless acts of beauty."
  1993.  
  1994. +++++++++++++++++++++++++++
  1995.  
  1996. >From d88-jwa@mumrik.nada.kth.se (Jon Wdtte)
  1997. Date: 15 Jun 1994 11:53:11 GMT
  1998. Organization: The Royal Institute of Technology
  1999.  
  2000. In <2tkrd2$nk3@astfgl.edb.tih.no> larsg@edb.tih.no (Lars Garden) writes:
  2001.  
  2002. >"Inferior" video modes are quite useful when you want to sacrifice
  2003. >resolution for speed. Is the Mac really not capable of using video modes
  2004. >with a resolution less than 512x384?
  2005.  
  2006. Worse.
  2007.  
  2008. Most screen cards stop at 640x480; the 512x384 mode is only for the
  2009. Mac LC 12" color monitor and the Color Classic 10" built-in color,
  2010. none of which sold well.
  2011.  
  2012. A Mac has square pixels at 72 dpi, and that's it!
  2013.  
  2014. Cheers,
  2015.  
  2016.                     / h+
  2017. -- 
  2018.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  2019.  
  2020.   "Practice random kindness, and senseless acts of beauty."
  2021.  
  2022. +++++++++++++++++++++++++++
  2023.  
  2024. >From mikec@mv.mv.com (Mike Callaghan)
  2025. Date: Wed, 15 Jun 1994 12:32:19 GMT
  2026. Organization: MV Communications, Inc.
  2027.  
  2028. In article <2t5bff$fnp@news.bu.edu>, y-tony@bu.edu (Yan Lee) writes:
  2029. >       I have been reading a bit about animation and the Mac.  I have
  2030. >read that full screen scrolling is almost impossible to do well on the
  2031. >Mac.  I do understand that game machines have chips that specialize in
  2032. >such activities.  Howver, is it still not possible for the Mac to do it?
  2033.  
  2034. What about programs like Stepping Out? It did great full-screen scrolling
  2035. relatively quickly even on a Mac Plus. I realize that doing this in a 
  2036. window is a completely different story, but how did Stepping Out accomplish
  2037. it? Is it possible to set up a giant bitmap (or pixmap) and simply alter
  2038. the address where the Mac thinks its screen is? 
  2039.  
  2040. MikeC
  2041. -- 
  2042. Michael D. Callaghan                             Nashua, New Hampshire
  2043. - --------------------------------------------------------------------
  2044. RULE: "(sqrt(-1)) before (2.71828), except after (186,000 miles/sec)."
  2045.             [THE DANGERS OF MIXING GRAMMAR AND SCIENCE]
  2046.  
  2047. +++++++++++++++++++++++++++
  2048.  
  2049. >From ivanski@world.std.com (Ivan M CaveroBelaunde)
  2050. Date: Wed, 15 Jun 1994 15:42:51 GMT
  2051. Organization: The World Public Access UNIX, Brookline, MA
  2052.  
  2053. Malicious_Monarch@nile.com (Malicious Monarch) writes:
  2054. ><<"Inferior" video modes are quite useful when you want to sacrifice resolution
  2055. >for speed.>>
  2056. >  That's true, but I don't know many people who would like to take a game with
  2057. >pixelated graphics over one that has very precise -shall I say 'crisp'? :) -
  2058. >graphics.  There's always more than one way to make a game...
  2059.  
  2060. I would. In a second. While it might be feasible to do a full-screen
  2061. textured map game a la DOOM/PID with good performance on a PowerMac,
  2062. it's not on a 25MHz 030 at 640x480. The higher performance machines you
  2063. require in order to deliver acceptable playability, the more you shrink
  2064. your potential market and the harder it is to justify the effort of
  2065. developing a game like that.
  2066.  
  2067. Sometimes crispness is more important than fps, and viceversa (there
  2068. are different tradeoffs with different performance levels, different
  2069. kind of games, etc). The sole *availability* of an "inferior" video mode
  2070. would allow the game designer the choice of sacrificing one for the other -
  2071. a choice we don't have right now.
  2072.  
  2073. -Ivan
  2074. - -
  2075. Ivan Cavero Belaunde (ivanski@world.std.com)
  2076. Avid VideoShop Project Lead
  2077. Avid Technology, Inc.
  2078.  
  2079. +++++++++++++++++++++++++++
  2080.  
  2081. >From Dave Falkenburg <falken@apple.com>
  2082. Date: Wed, 15 Jun 1994 16:11:31 GMT
  2083. Organization: Apple Computer, Inc.
  2084.  
  2085. In article <2tmq0b$t70@news.kth.se> Jon W!tte, d88-jwa@mumrik.nada.kth.se
  2086. writes:
  2087. >>In <2tkmlv$602@beta.qmw.ac.uk> enry@dcs.qmw.ac.uk (Henry) writes:
  2088. >>If not, you are all destined to fester in the mouldy crevis of a mac
  2089. games
  2090. >>industry that has about as much chance of producing a decent game, as a 
  2091. >>cheese sandwich has of sneaking its way past the doorman at the Hilton.
  2092.  
  2093. Hmm.  I ordered a grilled cheese sandwich from room service once.
  2094.  
  2095. ... but seriously
  2096.  
  2097. In many cases you simply cannot change the video base address because of
  2098. limitations and/or differences in the video hardware.
  2099.  
  2100. However, there is absolutely nothing wrong with slamming bits into the
  2101. frame buffer directly.
  2102.  
  2103.  
  2104. -Dave Falkenburg
  2105. -Apple Computer, Inc.
  2106.  
  2107. +++++++++++++++++++++++++++
  2108.  
  2109. >From mxmora@unix.sri.com (Matt Mora)
  2110. Date: 15 Jun 94 16:55:18 GMT
  2111. Organization: SRI International, Menlo Park, CA
  2112.  
  2113. In article <CrFutw.Bx0@mv.mv.com> mikec@mv.mv.com (Mike Callaghan) writes:
  2114.  
  2115. >What about programs like Stepping Out? It did great full-screen scrolling
  2116. >relatively quickly even on a Mac Plus. I realize that doing this in a 
  2117. >window is a completely different story, but how did Stepping Out accomplish
  2118. >it? Is it possible to set up a giant bitmap (or pixmap) and simply alter
  2119. >the address where the Mac thinks its screen is? 
  2120.  
  2121.  
  2122. Stepping out only had 22k of data to blit to worry about. Color Macs
  2123. have about 300k of data to blit. Big difference.
  2124.  
  2125.  
  2126. Xavier
  2127.  
  2128.  
  2129. -- 
  2130. ___________________________________________________________
  2131. Matthew Xavier Mora                       Matt_Mora@sri.com
  2132. SRI International                       mxmora@unix.sri.com
  2133. 333 Ravenswood Ave                    Menlo Park, CA. 94025
  2134.  
  2135. +++++++++++++++++++++++++++
  2136.  
  2137. >From mkelly@cs.uoregon.edu (Michael A. Kelly)
  2138. Date: 15 Jun 1994 10:42:31 -0700
  2139. Organization: High Risk Ventures
  2140.  
  2141. In article <2tmq0b$t70@news.kth.se>,
  2142. Jon Wdtte <d88-jwa@mumrik.nada.kth.se> wrote:
  2143. >
  2144. >>Is it possible to reliably direct the macs hardware to a different
  2145. >>screen buffer?
  2146. >
  2147. >Only if you want to special-case for dozens of video cards.
  2148.  
  2149. What?  I was under the impression that it can't be done in any case (except
  2150. for some of the classic Macs of course) because the pointer to the video
  2151. buffer is in hardware.  So you're saying it's possible to do page-flipping
  2152. on a Mac?  How do you swap the pointer?  It sounds like you're also saying
  2153. that the second page has to be in video memory, right?
  2154.  
  2155. >>If not, you are all destined to fester in the mouldy crevis of a mac games
  2156. >>industry that has about as much chance of producing a decent game, as a 
  2157. >>cheese sandwich has of sneaking its way past the doorman at the Hilton.
  2158. >
  2159. >Well, the PowerPC does some pretty decent frame rates.
  2160. >And I think Prince of Persia was a decent game, and SimCity 2000
  2161. >still is.
  2162.  
  2163. Not to mention Space Madness and Cyclone. ;-)  But it's true, if we didn't
  2164. have to go to such great lengths to produce flicker-free animation on the
  2165. Mac, we could have some pretty hot games that just aren't feasible now.
  2166. We might even be able to scroll full screen at a decent frame rate, and still
  2167. have time for all the other game computations.
  2168.  
  2169. Mike.
  2170. -- 
  2171. _____________________________________________________________________________
  2172. Michael A. Kelly                                                President/CEO
  2173. mkelly@cs.uoregon.edu                                      High Risk Ventures
  2174. _____________________________________________________________________________
  2175.  
  2176. +++++++++++++++++++++++++++
  2177.  
  2178. >From mkelly@cs.uoregon.edu (Michael A. Kelly)
  2179. Date: 15 Jun 1994 10:54:21 -0700
  2180. Organization: High Risk Ventures
  2181.  
  2182. In article <CrG3nF.EwL@world.std.com>,
  2183. Ivan M CaveroBelaunde <ivanski@world.std.com> wrote:
  2184. >><<"Inferior" video modes are quite useful when you want to sacrifice resolution
  2185. >>for speed.>>
  2186.  
  2187. >kind of games, etc). The sole *availability* of an "inferior" video mode
  2188. >would allow the game designer the choice of sacrificing one for the other -
  2189. >a choice we don't have right now.
  2190.  
  2191. But we can still pretend we do.  As was mentioned previously in this thread,
  2192. we can gain considerable speed by keeping the game at 320x240 offscreen and
  2193. blowing it up (or not) to 640x480 on screen.  I've played around with this,
  2194. and there *is* a significant speedup.  You're doing 1/4 the work offscreen,
  2195. and maybe around 3/4 the work onscreen.  With the right application (and
  2196. prehaps a combination of high- and low-resolution graphics on screen) this
  2197. technique can be acceptable to even the typical 'snotty' Mac user (of which
  2198. I am one!) who dry heaves at the thought of 320x240 games.  Deliverance is
  2199. probably a pretty good example of how and when to use this technique, and
  2200. how to present it (they give the user the option to play in a 320x240
  2201. window at high resolution or in a 640x480 window at low resolution).
  2202.  
  2203. Mike.
  2204. -- 
  2205. _____________________________________________________________________________
  2206. Michael A. Kelly                                                President/CEO
  2207. mkelly@cs.uoregon.edu                                      High Risk Ventures
  2208. _____________________________________________________________________________
  2209.  
  2210. +++++++++++++++++++++++++++
  2211.  
  2212. >From mkelly@cs.uoregon.edu (Michael A. Kelly)
  2213. Date: 15 Jun 1994 11:10:23 -0700
  2214. Organization: High Risk Ventures
  2215.  
  2216. In article <2tnei7$t1u@majestix.cs.uoregon.edu>,
  2217. Michael A. Kelly <mkelly@cs.uoregon.edu> wrote:
  2218. >In article <2tmq0b$t70@news.kth.se>,
  2219. >Jon Wdtte <d88-jwa@mumrik.nada.kth.se> wrote:
  2220. >>
  2221. >>Well, the PowerPC does some pretty decent frame rates.
  2222. >>And I think Prince of Persia was a decent game, and SimCity 2000
  2223. >>still is.
  2224. >
  2225. >Not to mention Space Madness and Cyclone. ;-)
  2226.  
  2227. BTW, Space Madness and Cyclone both run flicker-free at 60 fps on '040 Macs,
  2228. at 8-bit 640x480 resolution.  And, like most action games on the Mac, they
  2229. easily run at 30 fps on lesser machines.  Prince of Persia tended to slow
  2230. down quite noticeably on my IIcx when there was a slicer on the screen, but
  2231. I suspect it was using Quickdraw.  It should be easy to achieve at least
  2232. 30 fps on slow machines with a game like PoP, which has a textured background,
  2233. but few objects with relatively little movement, if you draw direct to screen.
  2234.  
  2235. Of course, a scrolling background is quite a different story...
  2236.  
  2237. Mike.
  2238. -- 
  2239. _____________________________________________________________________________
  2240. Michael A. Kelly                                                President/CEO
  2241. mkelly@cs.uoregon.edu                                      High Risk Ventures
  2242. _____________________________________________________________________________
  2243.  
  2244. +++++++++++++++++++++++++++
  2245.  
  2246. >From d88-jwa@dront.nada.kth.se (Jon Wdtte)
  2247. Date: 15 Jun 1994 16:49:30 GMT
  2248. Organization: The Royal Institute of Technology
  2249.  
  2250. In <CrFutw.Bx0@mv.mv.com> mikec@mv.mv.com (Mike Callaghan) writes:
  2251.  
  2252. >What about programs like Stepping Out? It did great full-screen scrolling
  2253. >relatively quickly even on a Mac Plus. I realize that doing this in a 
  2254.  
  2255. Ah, but that was in black-and-white. Everyone can scroll a screen
  2256. in black-and-white.
  2257.  
  2258. >window is a completely different story, but how did Stepping Out accomplish
  2259.  
  2260. No, it's no harder scrolling in a window that scrolling a screen.
  2261.  
  2262. >it? Is it possible to set up a giant bitmap (or pixmap) and simply alter
  2263. >the address where the Mac thinks its screen is? 
  2264.  
  2265. For the MacPlus, you can do something close to that, but with limitations.
  2266. For some video cards, in some modes, you can do it as well. However, it's
  2267. not something that all video cards/drivers support, and most cards don't
  2268. have enought memory for it.
  2269. -- 
  2270.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  2271.  
  2272.  "My boss made me say it. He dares you to sue!"
  2273.  
  2274. +++++++++++++++++++++++++++
  2275.  
  2276. >From sly@fly2.berkeley.edu (Cyrus Harmon)
  2277. Date: Wed, 15 Jun 1994 11:51:11 -0700
  2278. Organization: UC Berkeley
  2279.  
  2280. In article <2tmq37$t75@news.kth.se>, d88-jwa@mumrik.nada.kth.se (Jon Wtte)
  2281. wrote:
  2282.  
  2283. > Most screen cards stop at 640x480; the 512x384 mode is only for the
  2284. > Mac LC 12" color monitor and the Color Classic 10" built-in color,
  2285. > none of which sold well.
  2286. > A Mac has square pixels at 72 dpi, and that's it!
  2287.  
  2288. Except with the multiple scan monitors that let you select video
  2289. modes. I guess for the first time Apple is now offering "inferior"
  2290. video modes :->.  
  2291.  
  2292. Cyrus Harmon
  2293. sly@fly2.berkeley.edu
  2294.  
  2295. +++++++++++++++++++++++++++
  2296.  
  2297. >From larsg@edb.tih.no (Lars Garden)
  2298. Date: 16 Jun 1994 13:33:13 GMT
  2299. Organization: Trondheim College of Engineering
  2300.  
  2301. Malicious Monarch (Malicious_Monarch@nile.com) wrote:
  2302. : <<"Inferior" video modes are quite useful when you want to sacrifice resolution
  2303. : for speed.>>
  2304. :   That's true, but I don't know many people who would like to take a game with
  2305. : pixelated graphics over one that has very precise -shall I say 'crisp'? :) -
  2306. : graphics.  There's always more than one way to make a game...
  2307.  
  2308. I know a lot of people that would prefer a 320*200 20fps DOOM over a
  2309. 640x480 4fps DOOM. 
  2310.  
  2311. --
  2312.  
  2313.      // Lars Gaarden. Student at Trondheim College of Engineering.
  2314.  \\ //  email: larsg@edb.tih.no  IRC: Lynet
  2315.   \X/   "But I will rise and I will return like a phoenix from the flame."
  2316.          - Siniad O'Conner
  2317.  
  2318.  
  2319. +++++++++++++++++++++++++++
  2320.  
  2321. >From 103t_english@west.cscwc.pima.edu
  2322. Date: 14 Jun 94 14:22:46 MST
  2323. Organization: (none)
  2324.  
  2325. In article <2tkmlv$602@beta.qmw.ac.uk>, enry@dcs.qmw.ac.uk (Henry) writes:
  2326. > Shuffling bytes about in memory just puts a huge burden on the processor
  2327. > when it should be calculating something far less menial.
  2328. > Why can I not change the video hardware's screen base pointer, and fill in the
  2329. > newly exposed part of the screen. This eliminates as much bit copying as we
  2330. > like (give enough vram set asside)...
  2331. > It also has the added advantage of having an offscreen pixmap, and being
  2332. > able to display it instantly without blasting bytes through the proccessor,
  2333. > allowing sencible (fast) screen buffering.
  2334. > Is it possible to reliably direct the macs hardware to a different
  2335. > screen buffer?
  2336. > (You can do it on a Mac512k :-)
  2337. > If not, can I do it unreliably?
  2338. > If not, you are all destined to fester in the mouldy crevis of a mac games
  2339. > industry that has about as much chance of producing a decent game, as a 
  2340. > cheese sandwich has of sneaking its way past the doorman at the Hilton.
  2341.  
  2342. And of course, Apple didn't provide any standard, or at least, *documented*,
  2343.  way to do it on the PowerMacs because we all know how worried they are about 
  2344. the games industry...
  2345.  
  2346. And telling me to go look in the book on creating hardware add-on cards for
  2347. information about the potential for page-flipping in a Mac video card is
  2348. hardly contributing to the upliftment of Apple games-writing, although it could
  2349. be seen as a way of telling potential games-writers on the Mac to bugger-off 
  2350. -we don't want you here...
  2351.  
  2352.  
  2353. Lawson
  2354.  
  2355. +++++++++++++++++++++++++++
  2356.  
  2357. >From amanda@intercon.com (Amanda Walker)
  2358. Date: Thu, 16 Jun 1994 19:42:43 -0500
  2359. Organization: InterCon Systems Corporation, Herndon, VA  USA
  2360.  
  2361. larsg@edb.tih.no (Lars Garden) writes:
  2362. > I know a lot of people that would prefer a 320*200 20fps DOOM over 
  2363. > a 640x480 4fps DOOM. 
  2364.  
  2365. Would anyone like a 640x480 15-20fps DOOM in greyscale ... but anti-aliased?
  2366.  
  2367. This is actually a serious question.
  2368.  
  2369.  
  2370. Amanda Walker
  2371. InterCon Systems Corporation
  2372.  
  2373.  
  2374.  
  2375. +++++++++++++++++++++++++++
  2376.  
  2377. >From shirleyd@cognos.COM (Dieter Shirley)
  2378. Date: Thu, 16 Jun 1994 19:49:57 GMT
  2379. Organization: Cognos Incorporated, Ottawa CANADA
  2380.  
  2381. Michael A. Kelly (mkelly@cs.uoregon.edu) wrote:
  2382. : In article <2tmq0b$t70@news.kth.se>,
  2383. : Jon Wdtte <d88-jwa@mumrik.nada.kth.se> wrote:
  2384. : >
  2385. : >>Is it possible to reliably direct the macs hardware to a different
  2386. : >>screen buffer?
  2387. : >
  2388. : >Only if you want to special-case for dozens of video cards.
  2389.  
  2390. : What?  I was under the impression that it can't be done in any case (except
  2391. : for some of the classic Macs of course) because the pointer to the video
  2392. : buffer is in hardware.  So you're saying it's possible to do page-flipping
  2393. : on a Mac?  How do you swap the pointer?  It sounds like you're also saying
  2394. : that the second page has to be in video memory, right?
  2395.  
  2396. Yeah, there is a call, documented in the legendary IM: Cards and Drivers
  2397. that video card developers can support which allows page flipping.  Of
  2398. course, all of the card developers do it a little bit differently.  (Not
  2399. the page flipping, but drawing to the different pages.) Add to this that
  2400. most (if not all) internal video Macs don't support this and not all
  2401. video cards do, and you've got to write normal code for those cases anyways.
  2402.  
  2403. But, it can and has been done.  Try playing OIDS on a slower machine, like
  2404. a IIci or IIcx with a Toby 8-bit card, then install MaxAppleZoom, which
  2405. uses the extra VRAM for it's own purposes and see what OIDS looks like
  2406. *without* the page flipping.  Very hideous.
  2407.  
  2408. Later,
  2409. -dete
  2410.  
  2411. +++++++++++++++++++++++++++
  2412.  
  2413. >From y-tony@bu.edu (Yan Lee)
  2414. Date: 17 Jun 1994 02:11:39 GMT
  2415. Organization: Boston University
  2416.  
  2417. Amanda Walker (amanda@intercon.com) wrote:
  2418. : larsg@edb.tih.no (Lars Garden) writes:
  2419. : > I know a lot of people that would prefer a 320*200 20fps DOOM over 
  2420. : > a 640x480 4fps DOOM. 
  2421.  
  2422. : Would anyone like a 640x480 15-20fps DOOM in greyscale ... but anti-aliased?
  2423.  
  2424. : This is actually a serious question.
  2425.  
  2426. Would grayscale actually make a difference in speed?  It is still 
  2427. following 8-bits of color/shades.  
  2428.  
  2429. : Amanda Walker
  2430. : InterCon Systems Corporation
  2431.  
  2432.  
  2433. P.S.  Thanks for the enormous responses about scrolling.  I never expected 
  2434. so much input!
  2435.  
  2436. Tony
  2437.  
  2438.  
  2439. +++++++++++++++++++++++++++
  2440.  
  2441. >From chris-b@cs.auckland.ac.nz (Chris Burns)
  2442. Date: Fri, 17 Jun 1994 18:22:36 +1200
  2443. Organization: HyperMedia Unit, Auckland University
  2444.  
  2445. In article <2tnbpm$f24@unix.sri.com>, mxmora@unix.sri.com (Matt Mora)
  2446. wrote:
  2447.  
  2448. > In article <CrFutw.Bx0@mv.mv.com> mikec@mv.mv.com (Mike Callaghan) writes:
  2449. > >What about programs like Stepping Out? It did great full-screen scrolling
  2450. > >relatively quickly even on a Mac Plus. I realize that doing this in a 
  2451. > >window is a completely different story, but how did Stepping Out accomplish
  2452. > >it? Is it possible to set up a giant bitmap (or pixmap) and simply alter
  2453. > >the address where the Mac thinks its screen is? 
  2454. > Stepping out only had 22k of data to blit to worry about. Color Macs
  2455. > have about 300k of data to blit. Big difference.
  2456.  
  2457. Is it possible to use the MMU to scroll without blitting? This may only
  2458. work with RBV (and even then I think I remember something about the 
  2459. hardware getting frame buffer data from physical address $00000000).
  2460.  
  2461. Chris B
  2462. - ---------------------------------------------------------------------
  2463. NewZealand:AucklandUniversity:ComputerScience:HyperMediaUnit:ChrisBurns
  2464. Internet: chris-b@cs.auckland.ac.nz
  2465. Phone:    +64 9 373-7599 x6194
  2466. Fax:      +64 9 373-7453
  2467. - ---------------------------------------------------------------------
  2468.  
  2469. +++++++++++++++++++++++++++
  2470.  
  2471. >From byrne1@husc8.harvard.edu (Laurence Byrne)
  2472. Date: 17 Jun 94 14:17:16 GMT
  2473. Organization: Harvard University, Cambridge, Massachusetts
  2474.  
  2475. y-tony@bu.edu (Yan Lee) writes:
  2476.  
  2477. >Amanda Walker (amanda@intercon.com) wrote:
  2478. >: larsg@edb.tih.no (Lars Garden) writes:
  2479. >: > I know a lot of people that would prefer a 320*200 20fps DOOM over 
  2480. >: > a 640x480 4fps DOOM. 
  2481. >: Would anyone like a 640x480 15-20fps DOOM in greyscale ... but anti-aliased?
  2482. >: This is actually a serious question.
  2483.  
  2484. >Would grayscale actually make a difference in speed?  It is still 
  2485. >following 8-bits of color/shades.  
  2486.  
  2487. I would imagine that the purpose of going to grayscale is not to directly
  2488. speed up the graphics - as you point out, it's still 8 bits - but instead
  2489. to make the anti-aliasing more effective/less noticeable. (The human eye
  2490. having a limit to its ability to resolve shades of gray.) Personally, to
  2491. get back to the original question, I think I'd find that a gray Doom
  2492. lost about 30% of its entertainment value - it'd probably be almost as
  2493. much fun to play, but there's still a world of difference between colour and
  2494. b/w....
  2495.  
  2496. -- 
  2497. - -----------------------------------------------------------------------------
  2498. Laurence Byrne             un chien andalusia        byrne1@husc.harvard.edu
  2499. Hist/CS                       *finger @byrne1.student.harvard.edu for PGP pubkey*
  2500.  
  2501. A zygote is a gamete's way of producing more gametes.
  2502. This may be the purpose of the universe.        - Lazarus Long
  2503.  
  2504. +++++++++++++++++++++++++++
  2505.  
  2506. >From d88-jwa@mumrik.nada.kth.se (Jon Wdtte)
  2507. Date: 17 Jun 1994 20:30:07 GMT
  2508. Organization: The Royal Institute of Technology
  2509.  
  2510. In <2tnei7$t1u@majestix.cs.uoregon.edu> mkelly@cs.uoregon.edu (Michael A. Kelly) writes:
  2511.  
  2512. >buffer is in hardware.  So you're saying it's possible to do page-flipping
  2513. >on a Mac?  How do you swap the pointer?  It sounds like you're also saying
  2514. >that the second page has to be in video memory, right?
  2515.  
  2516. Yes. There are DOCUMENTED video driver calls to do that, but not all
  2517. video cards support them, and almost no video cards have enough memory
  2518. to make the feature useful.
  2519.  
  2520. >We might even be able to scroll full screen at a decent frame rate, and still
  2521. >have time for all the other game computations.
  2522.  
  2523. When scrolling is a big matter, those "other game computations" usually
  2524. shring to insignificance (on the order of one line of scrolling pixels...)
  2525.  
  2526. Anyway, locking yourself to a specific blitter is OK for machines with
  2527. a short usable life span, but for anything that's supposed to improve
  2528. and stay compatible, it's not really a good idea.
  2529.  
  2530. However, Apple COULD HAVE put a blitter in the lower-power models and
  2531. had it accellerate CopyBits. I guess another $50-100 in the retail channel
  2532. wasn't deemed worth it.
  2533.  
  2534. Cheers,
  2535.  
  2536.                     / h+
  2537. -- 
  2538.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  2539.  
  2540.  "My boss made me say it. He dares you to sue!"
  2541.  
  2542. +++++++++++++++++++++++++++
  2543.  
  2544. >From d88-jwa@mumrik.nada.kth.se (Jon Wdtte)
  2545. Date: 17 Jun 1994 20:34:55 GMT
  2546. Organization: The Royal Institute of Technology
  2547.  
  2548. In <byrne1.771862636@husc8.harvard.edu> byrne1@husc8.harvard.edu (Laurence Byrne) writes:
  2549.  
  2550. >I would imagine that the purpose of going to grayscale is not to directly
  2551. >speed up the graphics - as you point out, it's still 8 bits - but instead
  2552. >to make the anti-aliasing more effective/less noticeable. (The human eye
  2553. >having a limit to its ability to resolve shades of gray.) Personally, to
  2554.  
  2555. Actually, I think black/white means 4-bit mode, in which you can do
  2556. page flippin on many vide cards, and palette flipping on the others.
  2557. -- 
  2558.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  2559.  
  2560.  "My boss made me say it. He dares you to sue!"
  2561.  
  2562. +++++++++++++++++++++++++++
  2563.  
  2564. >From lewistot@netcom.com (John Lewis)
  2565. Date: Sat, 18 Jun 1994 07:04:43 GMT
  2566. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  2567.  
  2568. 103t_english@west.cscwc.pima.edu wrote:
  2569. : And of course, Apple didn't provide any standard, or at least, *documented*,
  2570. : way to do it on the PowerMacs because we all know how worried they are about 
  2571. : the games industry...
  2572.  
  2573. Actually, Apple is very concerned about the game industry. At Maxis (the
  2574. SimCity people), we receive pre-release documentation and beta software almost
  2575. weekly. Our experience is not unique either. At a recent PowerMac hands-on
  2576. development seminar I went to, one third of the companies invited were game
  2577. companies.
  2578.  
  2579. Using some "dirty rectangle" techniques, I can acheive some fairly decent fps
  2580. rates on slower Macs and some damn spectacular fps rates on PowerMacs.
  2581.  
  2582. : And telling me to go look in the book on creating hardware add-on cards for
  2583. : information about the potential for page-flipping in a Mac video card is
  2584. : hardly contributing to the upliftment of Apple games-writing, although it could
  2585. : be seen as a way of telling potential games-writers on the Mac to bugger-off 
  2586. : -we don't want you here...
  2587.  
  2588. You might try going back to the books to investigate other means of doing
  2589. fast scrolling other than page flipping. With a little care, Copybits can
  2590. do some amazing things. Also, try actually finding out what people in the
  2591. game industry think of Apple BEFORE you go flaming them.
  2592. -- 
  2593. - -------------------------------------------------------------------------
  2594. John "I'ld rather be skydiving" Lewis|#include "standard .sig BS" |Witty  |
  2595. lewistotle@netcom.com <- prefered    |Blue Skies to all skydivers.|text   |
  2596. jlewis@maxis.com      <- work        |USPA 87419, C-22826         |picture|
  2597. lewistotle@aol.com    <- rarely      |<Fnord>                     |comming|
  2598.  
  2599. +++++++++++++++++++++++++++
  2600.  
  2601. >From alex@metcalf.demon.co.uk (Alex Metcalf)
  2602. Date: Sat, 18 Jun 1994 11:20:49 GMT
  2603. Organization: Best Before Yesterday
  2604.  
  2605. In article <1994Jun13.103349.1@csc.canterbury.ac.nz>,
  2606. misc173@csc.canterbury.ac.nz wrote:
  2607.  
  2608. > > I missed the original post, but if it's about full screen scrolling at
  2609. > > 30fps, that's still pretty much impossible. There are several solutions
  2610. > > people have used, such as the draw-every-other-line approach in Deliverance
  2611. > > to improve speed on slower Macs. Also, QuickTime 2 does it, though that
  2612. > > doesn't count (I think it doesn't really redraw all the screen all the
  2613. > > time).
  2614. > > 
  2615. > > Someone sent me a test result from a PowerMac: straight blitting a 640x480
  2616. > > image to the screen and doing nothing else, the frame rate was only about
  2617. > > 25fps. Games would also do lots of drawing offscreen
  2618. >     I couldn't believe this post when I read it yesterday, so I went home
  2619. > and wrote a 640x480x8bit RAM scroller, it starts at 0 and scrolls up through
  2620. > RAM, copying it to the screen, one line per frame. It got 40 fps on my 605, and
  2621. > I know that it could be optimised more, unrolling the inner loop, etc. I tried
  2622. > a variety of resolutions and interpolation techniques and gained some
  2623. > interesting insights. If you reduce the screen size the speed increases
  2624. > proportionaly, 320x240x8bit at 150fps. Using alternate lines doubles the speed
  2625. > again ( and looks fairly good against black ), pixel doubling is very slow, I
  2626. > havent tried using movep yet, but it should speed things up ( if it works ).
  2627. >     This routine uses only move.l, as I intend to program for 040's I will
  2628. > try move16, which should speed things up about 3x.
  2629. >     The final conclusion is that whoever wrote that ppc blitter ain't very
  2630. > good, I know enough assembly to this, and other simple graphics routines, but
  2631. > it still goes reasonably fast ( at least 10% faster than copybits ). Full
  2632. > screen scrolling is possible, and if someone asks for it I'll even post my
  2633. > code.
  2634.  
  2635. I've left all my news to the weekend to answer, so I've finally got round
  2636. to reading it to find I haven't been holding up my side fo the argument.
  2637. :-)
  2638.  
  2639. Full screen scrolling IS impossible for a game, because you don't take into
  2640. account the huge amount of offscreen drawing which is done before the image
  2641. is blitted to the screen. Often only 20 percent or even less of the time is
  2642. for copying to the screen, and the rest is drawing masked objects, new
  2643. areas, etc. to the offscreen worlds.
  2644.  
  2645. But you're right about direct copying: if you wanted to, you can redraw a
  2646. whole screen >30 fps. Bit of a boring game, though. :-)
  2647.  
  2648. Best wishes,
  2649.  
  2650.  
  2651.  
  2652. Alex
  2653.  
  2654. --
  2655. Alex Metcalf, Best Before Yesterday
  2656. Mac programmer in C, C++, HyperTalk, assembler
  2657. Juggler, 3-ball tricks
  2658.  
  2659. Internet:          alex@metcalf.demon.co.uk
  2660. Fax (UK):          (0570) 45636
  2661. Fax (US / Canada): 011 44 570 45636
  2662.  
  2663. +++++++++++++++++++++++++++
  2664.  
  2665. >From amanda@intercon.com (Amanda Walker)
  2666. Date: Mon, 20 Jun 1994 17:06:08 -0500
  2667. Organization: InterCon Systems Corporation, Herndon, VA  USA
  2668.  
  2669. In article <2tr0or$j5a@news.bu.edu>, y-tony@bu.edu (Yan Lee) writes:
  2670. > Would grayscale actually make a difference in speed?  It is 
  2671. > still following 8-bits of color/shades.  
  2672.  
  2673. For anti-aliased texture mapping, 8-bit gray scale takes a lot less memory 
  2674. than 24-bit color, and is somewhat faster...
  2675.  
  2676.  
  2677. Amanda Walker
  2678. InterCon Systems Corporation
  2679.  
  2680.  
  2681.  
  2682. +++++++++++++++++++++++++++
  2683.  
  2684. >From amanda@intercon.com (Amanda Walker)
  2685. Date: Mon, 20 Jun 1994 17:07:14 -0500
  2686. Organization: InterCon Systems Corporation, Herndon, VA  USA
  2687.  
  2688. d88-jwa@mumrik.nada.kth.se (Jon Wtte) writes:
  2689. > Actually, I think black/white means 4-bit mode, in which you can do 
  2690. > page flippin on many vide cards, and palette flipping on the others. 
  2691.  
  2692. Nope, I meant 8-bit gray scale.  This way I don't need 24 bit texture maps, 
  2693. and don't have to reduce it to an 8-bit palette, both of which would increase 
  2694. the possible speed.
  2695.  
  2696.  
  2697. Amanda Walker
  2698. InterCon Systems Corporation
  2699.  
  2700.  
  2701.  
  2702. +++++++++++++++++++++++++++
  2703.  
  2704. >From s3026557@titanic.mpce.mq.edu.au (Duncan Anker)
  2705. Date: 23 Jun 1994 09:33:53 GMT
  2706. Organization: Macquarie University, School of Mathematics, Physics, Computing and Electronics
  2707.  
  2708. Amanda Walker (amanda@intercon.com) wrote:
  2709. : larsg@edb.tih.no (Lars Garden) writes:
  2710. : > I know a lot of people that would prefer a 320*200 20fps DOOM over 
  2711. : > a 640x480 4fps DOOM. 
  2712.  
  2713. : Would anyone like a 640x480 15-20fps DOOM in greyscale ... but anti-aliased?
  2714.  
  2715. : This is actually a serious question.
  2716.  
  2717. Given that the Mac I normally use (apart from those cute powerbooks :-)
  2718. has a greyscale moniter, I hardly think I'd miss the colour.
  2719.  
  2720. So a serious answer to a serious question. Yes, I would like a 640x480 
  2721. 15-20fps DOOM in greyscale. Are you writing one, Amanda?
  2722.  
  2723. --
  2724. s3026557@titanic.mpce.mq.edu.au * Duncan Anker * duncan@newling2-00.une.edu.au
  2725.  
  2726. O.K. Scotty, real funny. Now beam down my clothes!
  2727.  
  2728. ---------------------------
  2729.  
  2730. >From gneufeld@superior.carleton.ca (Grant Neufeld)
  2731. Subject: MacPerl- Redirecting STDIN & STDOUT
  2732. Date: Sat, 25 Jun 1994 17:22:23 GMT
  2733. Organization: Carleton University
  2734.  
  2735. I haven't managed to figure out how to redirect STDIN and STDOUT in
  2736. MacPerl. I have a script that runs as follows in UNIX:
  2737.  
  2738.   myscript <mysourcefile >myoutputfile
  2739.  
  2740. I want to be able to specify at least mysourcefile (I can save the
  2741. contents of the MacPerl console for the output) without having to do
  2742. anything drastic to my source code.
  2743.  
  2744. Any direction (including where to look in the docs/help so I can RTFM)
  2745. would be much appreciated.
  2746.  
  2747. --
  2748. Grant Neufeld - gneufeld@ccs.carleton.ca - Ottawa, Ontario, Canada
  2749. <A HREF="http://arpp1.carleton.ca/Grant/Grant.html">Grant Neufeld</A>
  2750. Apple Research Partnership Program, +1 (613) 788-2600 extenstion 3537
  2751. My views are too extreme to be anyone else's
  2752.  
  2753. +++++++++++++++++++++++++++
  2754.  
  2755. >From grbr@arapaho.ucsc.edu (Terry Gritton)
  2756. Date: Sat, 25 Jun 94 17:48:47 GMT
  2757. Organization: University of California, Santa Cruz
  2758.  
  2759. In Article <CryqxB.GDs@cunews.carleton.ca>, gneufeld@superior.carleton.ca
  2760. (Grant Neufeld) wrote:
  2761. >I haven't managed to figure out how to redirect STDIN and STDOUT in
  2762. >MacPerl. I have a script that runs as follows in UNIX:
  2763. >
  2764. >  myscript <mysourcefile >myoutputfile
  2765. >
  2766. >I want to be able to specify at least mysourcefile ...
  2767.  
  2768. You could just use drag and drop, drag the input file onto the icon of the
  2769. program. Then in the perl program you need to read the first argument.
  2770. Something like
  2771.  
  2772. #!/usr/bin/perl
  2773.  
  2774. # Useage(commandline): Prog file1 
  2775. # Useage(Mac GUI): drop input file on Prog icon
  2776.  
  2777.  
  2778. $file1 = @ARGV[0];
  2779.  
  2780. open(FILE, $file1) || die "Can't open $file: $!\n";
  2781. while (<FILE>) {
  2782.   foreach $i (split) {
  2783.   $file1contents{ $i } = 'file1';
  2784.   }
  2785. }
  2786. close(FILE);
  2787.  
  2788. - ---------------------------------------------------------------- 
  2789.    Terry Gritton
  2790.                           "the reason people so often lie
  2791.     Interests:             is that they lack imagination:
  2792.  glycoproteins as          they don't realize that the truth, too,
  2793.  intercellular             is a matter of invention."
  2794.  interregulatory                           Antonio Machado
  2795.  messages    
  2796.                        
  2797.  
  2798. ---------------------------
  2799.  
  2800. >From peskin@caip.rutgers.edu (Richard L. Peskin)
  2801. Subject: PowerPC floating point issue
  2802. Date: 21 Jun 94 18:20:39 GMT
  2803. Organization: Rutgers Univ.
  2804.  
  2805. Can anyone give me a "simple" explanation for the very poor floating
  2806. point performance of the PowerPC's (native code) when transcendental
  2807. funtions are involved? Is this just a poor library implementation
  2808. problem? Is Apple planning to address this issue anytime soon?
  2809. --dick peskin
  2810. =================================
  2811. R. L. Peskin,  Rutgers Univ. ; <peskin@caip.rutgers.edu>;  908/932-3685
  2812. "Good work is always done in defiance of management."  R. Woodward
  2813.  
  2814. +++++++++++++++++++++++++++
  2815.  
  2816. >From weare@galaxy.ucr.edu (christopher weare)
  2817. Date: 21 Jun 1994 15:04:58 -0700
  2818. Organization: University of California, Riverside
  2819.  
  2820. In article <Jun.21.14.20.38.1994.24577@cesl.rutgers.edu>,
  2821. Richard L. Peskin <peskin@caip.rutgers.edu> wrote:
  2822. >Can anyone give me a "simple" explanation for the very poor floating
  2823. >point performance of the PowerPC's (native code) when transcendental
  2824. >funtions are involved? Is this just a poor library implementation
  2825. >problem? Is Apple planning to address this issue anytime soon?
  2826. >--dick peskin
  2827. >=================================
  2828. >R. L. Peskin,  Rutgers Univ. ; <peskin@caip.rutgers.edu>;  908/932-3685
  2829. >"Good work is always done in defiance of management."  R. Woodward
  2830.  
  2831. The simple reason is that MathLib (the library supplied by apple) is very
  2832. slow.  IBM's equivalent lib is about 10 times faster.  Apple says they 
  2833. "are aware of the problem" and are working on a fix.  If anyone knows when
  2834. that might be I'd love to hear.  Personaly, I think apple should have tried
  2835. to license the IBM lib, but ofcourse, I have no idea what was involoved in the
  2836. creation of MathLib.  I serriously doubt that apple will do as good a job on
  2837. their lib as IBM did, but I hope I am wrong.  Ofcourse i mean FAST when i say 
  2838. good.
  2839.  
  2840. Chris
  2841. weare@galaxy.ucr.edu
  2842.  
  2843.  
  2844.  
  2845. +++++++++++++++++++++++++++
  2846.  
  2847. >From Todd M. Morin <toddm@truevision.com>
  2848. Date: 24 Jun 1994 15:38:55 GMT
  2849. Organization: Truevision Inc., Indianapolis, IN
  2850.  
  2851. I saw the below announcement on Compuserve a couple days ago, and it's
  2852. relevant to this issue.  I haven't contacted him yet, so I don't know what
  2853. his license fees are.
  2854.  
  2855. --ToddM.
  2856.  
  2857. - ------------------------------------------------------------------------
  2858. - ---------------------
  2859. Announcement to anyone using the Math Library provided for Power PC
  2860. Macintoshes!
  2861.  
  2862. After recompiling a piece of scientific code for the PowerPC which spends
  2863. most of its time computing transcendental functions and sqrts and achieving
  2864. very poor performance, I investigated the Apple Math Library for the Power
  2865. PC's.  I found it to be extremely slow, and am not sure why.  However, I
  2866. have since produced a library of my own for computing functions about 4-5
  2867. times faster than the Apple library.
  2868.  
  2869. This library currently implements sin(), cos(), exp(), pow(), sqrt(), log(),
  2870. tan(), atan(), sinh(), cosh(), log1p(), and expm1(), along with low level
  2871. functions ldexp() and frexp().  It does not (presently) do any IEEE-754/NCEG
  2872. (etc) exception handling, but in all cases correctly handles and returns
  2873. NaN's, Inf's and denorms as appropriate.  The accuracy of the functions is
  2874. typically about 1-2 LSB (i.e. about 1-2e-16) for most input values.
  2875.  
  2876. This library is available as an xcoff file (compatible with MPW linking and,
  2877. hence, Symantec C++ and MPW).  It consists of routines of my own design, and
  2878. is therefore assured to not be pirated or to infringe on any copyrights. 
  2879. The routines were compiled on and IBM RS/6000 601-based workstation, using
  2880. the highly optimizing level of the xlc compiler.  They contain no POWER
  2881. instructions, so they should be compatible with 601, 603, 604 & 620 (etc.)
  2882. machines as they become available.
  2883.  
  2884. If you are interested, please contact me about licensing, either for single
  2885. machine licenses, licenses to distribute in compiled code, or licenses to
  2886. distribute in object form to accompany development environments.  Also, if
  2887. you are interested in seeing other functions beyond my 'top ten' list added
  2888. to the library, I would be glad to do so.
  2889.  
  2890. Also, Xenotek has expertise in writing fast numerical algorithms and data
  2891. acquisition/control systems.  If you have need of such custom development,
  2892. please contact us.
  2893.  
  2894. Marcus Mendenhall, Ph.D.,
  2895. Xenotek, Inc.
  2896. (615)297-5756
  2897. or via Compuserve mail (76344,251)
  2898.  
  2899. +++++++++++++++++++++++++++
  2900.  
  2901. >From weare@galaxy.ucr.edu (christopher weare)
  2902. Date: 24 Jun 1994 12:21:18 -0700
  2903. Organization: University of California, Riverside
  2904.  
  2905. [bunch o stuff deleted describing a faster lib replacement for MathLib]
  2906.  
  2907. Some questions for the developer:
  2908.  
  2909. 1) How does your library compare to IBM's math library?  Post on this channel
  2910. sugest that the IBM lib is about 10 times faster than apple's when running the 
  2911. savage (is that the name?) benchmark.  Could you compare your lib to IBM's usingthat benchmark please.
  2912.  
  2913. 2) Are you aware that apple is promising to upgrade thier library "soon".
  2914.  
  2915. 3) Could you write a lib using floats instead of doubles so we have a choice
  2916. of fast vs accurate?  
  2917.  
  2918. Thanks
  2919.  
  2920. Chris
  2921. weare@galaxy.ucr.edu
  2922.  
  2923.  
  2924. +++++++++++++++++++++++++++
  2925.  
  2926. >From AppleGG@lamg.com (Gordon Apple)
  2927. Date: 25 Jun 1994 12:06:20 -0000
  2928. Organization: Los Angeles Macintosh Group BBS
  2929.  
  2930. >3) Could you write a lib using floats instead of doubles so we have a choice
  2931. >of fast vs accurate?  
  2932.  
  2933.  
  2934.     I doubt that floats are any faster than doubles on the PPC although they
  2935. would certainly be faster on a non-FPU 68K.
  2936.  
  2937.     However, please, please, please give us the fastest trancedentals
  2938. possible, even at an (optional) sacrafice of accuracy.  There are many signal
  2939. processing applications where 8-bit accurachy is overkill and floats are way
  2940. overkill.  (You'd be amazed at things we used to do in space and military
  2941. programs with three-bit A/D converters.)
  2942.  
  2943.  
  2944.  
  2945. ---------------------------
  2946.  
  2947. >From bb@lightside.com (Bob Bradley)
  2948. Subject: Q: Thread Manager - How do I benefit?
  2949. Date: Wed, 22 Jun 1994 06:10:21 -0800
  2950. Organization: Lightside, Inc.
  2951.  
  2952. In Develop 17, in the article about concurrent processing with the Thread
  2953. Manager, it says I'll be able to do other processing while a modal dialog
  2954. is up. In my app, I have 2 event queues, the normal WNE event queue and a
  2955. custom event queue that I've created. I've set these up as
  2956. YieldToUserProcess() and
  2957. YieldToCustomProcess() which simple pull the event out of the queue (if one
  2958. exists) and process the event. During my ModalDialog() loop, I call my
  2959. YieldToCustomProcess() routine each time thru. 
  2960.  
  2961. How would I benefit from using the Thread Manager (PowerPC)? From what I've
  2962. gathered it appears to do just what I've done but, in a more generalized
  2963. manner (ie not stuck with just my limited event queue). How does calling
  2964. YieldToAnyThread() differ in functionality?
  2965.  
  2966. +++++++++++++++++++++++++++
  2967.  
  2968. >From Ken Prehoda <kenp@nmrfam.wisc.edu>
  2969. Date: 23 Jun 1994 15:13:50 GMT
  2970. Organization: Univ of Wisc-Madison
  2971.  
  2972. In article <bb-220694061021@user48.lightside.com>
  2973. Bob Bradley, bb@lightside.com writes:
  2974. >How would I benefit from using the Thread Manager (PowerPC)? From what
  2975. I've
  2976. >gathered it appears to do just what I've done but, in a more generalized
  2977. >manner (ie not stuck with just my limited event queue). How does calling
  2978. >YieldToAnyThread() differ in functionality?
  2979.  
  2980. The case that you give is a small benefit of the thread manager.  As you
  2981. have shown, it is possible to get similar results for modal dialogs
  2982. without using the thread manager (although it's simpler with the
  2983. thread manager).
  2984.  
  2985. However, the thread manager lets you process a couple thousand
  2986. fourier transforms (or any other time consuming process in your app)
  2987. while still having the interface very responsive.  Unfortunately,
  2988. the powerpc version doesn't have preemptive threads and that makes
  2989. it a little less attractive.
  2990.  
  2991. Oh, if you're asking how YieldToAnyThread() is different, it is
  2992. different in the sense that control is passed on to multiple threads
  2993. in a round-robin fashion (cooperatively speaking) whereas your
  2994. control functions just switch between two event queues.  Preemptive
  2995. threads snatch time from each cooperative thread in a round-robin
  2996. fashion.
  2997.  
  2998. -Ken Prehoda
  2999. kenp@nmrfam.wisc.edu
  3000.  
  3001. +++++++++++++++++++++++++++
  3002.  
  3003. >From Jens Alfke <jens_alfke@powertalk.apple.com>
  3004. Date: Thu, 23 Jun 1994 17:36:54 GMT
  3005. Organization: Apple Computer
  3006.  
  3007. Bob Bradley, bb@lightside.com writes:
  3008. > How would I benefit from using the Thread Manager (PowerPC)? From what I've
  3009. > gathered it appears to do just what I've done but, in a more generalized
  3010. > manner (ie not stuck with just my limited event queue). How does calling
  3011. > YieldToAnyThread() differ in functionality?
  3012.  
  3013. The Thread Manager is a much smoother implementation of what you've done.
  3014. Your stuff relies on external objects you call 'events'. You have to
  3015. interrupt your processing to handle an event, and can't continue with what
  3016. you were doing until that event finishes. Threads, on the other hand, have
  3017. different stacks and can switch in and out. When a thread calls Yield, other
  3018. threads get a chance to run, but the thread that called Yield also keeps
  3019. running as soon as its time comes around when another thread yields.
  3020.  
  3021. Think of how your stuff would (not) work if one of your custom events
  3022. involved downloading a 10 megabyte file. What if you got two of these events?
  3023. One would have to wait until the first one finished. Your stuff can handle
  3024. events sequentially but can't interleave them, whereas threads can.
  3025.  
  3026. --Jens Alfke
  3027.   jens_alfke@powertalk              Rebel girl, rebel girl,
  3028.             .apple.com              Rebel girl you are the queen of my world
  3029.  
  3030. +++++++++++++++++++++++++++
  3031.  
  3032. >From bb@lightside.com (Bob Bradley)
  3033. Date: Thu, 23 Jun 1994 10:11:21 -0800
  3034. Organization: Lightside, Inc.
  3035.  
  3036. In article <1994Jun23.173654.22435@gallant.apple.com>, Jens Alfke
  3037. <jens_alfke@powertalk.apple.com> wrote:
  3038.  
  3039. > Think of how your stuff would (not) work if one of your custom events
  3040. > involved downloading a 10 megabyte file. What if you got two of these events?
  3041. > One would have to wait until the first one finished. Your stuff can handle
  3042. > events sequentially but can't interleave them, whereas threads can.
  3043.  
  3044. When using only cooperative threads, could I use a single thread to
  3045. download a 10 meg file and would calling YieldToAnyThread() stop that large
  3046. thread to process other threads or would I have to add a lot of
  3047. YieldToAnyThread() calls within that large thread? I'm a little confused
  3048. about how other threads would get time while one thread is executing. I
  3049. thought cooperative threads would still have to execute one after the
  3050. other. Am I totally lost?
  3051.  
  3052. +++++++++++++++++++++++++++
  3053.  
  3054. >From d88-jwa@dront.nada.kth.se (Jon Wdtte)
  3055. Date: 24 Jun 1994 08:36:40 GMT
  3056. Organization: The Royal Institute of Technology
  3057.  
  3058. In <bb-230694101122@user37.lightside.com> bb@lightside.com (Bob Bradley) writes:
  3059.  
  3060. >about how other threads would get time while one thread is executing. I
  3061. >thought cooperative threads would still have to execute one after the
  3062. >other. Am I totally lost?
  3063.  
  3064. Sort of. Calling YieldToAnyThread() basically says "I can take a pause
  3065. now, let another thread continue from where it was created/yielded last."
  3066. Then, when that thread calls YieldToAnyThread(), you'll eventually get
  3067. back to the first thread, which will continue from the Yield call.
  3068.  
  3069. When you do downloads, the serial port is usually so slow that it's
  3070. DEFINATELY worthwile to do async reads and yield. With the async SCSI
  3071. manager, you can do that on file I/O as well.
  3072. -- 
  3073.  -- Jon W{tte, h+@nada.kth.se, Mac Software Engineer Deluxe --
  3074.  
  3075.    What we need is a good GNU [...] licence manager implementation.
  3076.                      -- Raphael Manfredi
  3077.  
  3078. ---------------------------
  3079.  
  3080. >From soetji+@G.GP.CS.CMU.EDU (Soetjianto)
  3081. Subject: prevent update when call TEDelete, TEInsert??
  3082. Date: Thu, 23 Jun 1994 22:01:31 GMT
  3083. Organization: School of Computer Science, Carnegie Mellon
  3084.  
  3085. I am doing all sorts of manipulation on a TE, 
  3086. using TEScroll, TEDelete, TEInsert.  I want
  3087. the user only see the final state of the TE after
  3088. all manipulations have been done.  Is there a way to
  3089. do this?  I have tried ValidRect(), but it doesn't work.
  3090. Any idea how to do it?
  3091.  
  3092. thanks!
  3093. soetji@g.gp.cs.cmu.edu
  3094.  
  3095. +++++++++++++++++++++++++++
  3096.  
  3097. >From Jens Alfke <jens_alfke@powertalk.apple.com>
  3098. Date: Fri, 24 Jun 1994 17:02:08 GMT
  3099. Organization: Apple Computer
  3100.  
  3101. Soetjianto, soetji+@G.GP.CS.CMU.EDU writes:
  3102. > I am doing all sorts of manipulation on a TE, 
  3103. > using TEScroll, TEDelete, TEInsert.  I want
  3104. > the user only see the final state of the TE after
  3105. > all manipulations have been done.  Is there a way to
  3106. > do this?
  3107.  
  3108. You could either set the TE record's viewRect to an empty Rect, or set the
  3109. port's clipping region to an empty region (call ClipRect with an empty rect.)
  3110. Of course, you have to set them back to normal afterwards.
  3111.  
  3112. You may find this rather slow if you are doing a lot of work. If you're using
  3113. monostyled Text (i.e. you called TENew rather than TEStylNew) you can speed
  3114. things up by directly munging the text in the hText handle, then calling
  3115. TECalText at the end. The Munger trap is the best way to do this kind of
  3116. insertion/substitution/deletion on a handle, although its interface is
  3117. somewhat hard to figure out at first.
  3118.  
  3119. --Jens Alfke
  3120.   jens_alfke@powertalk              Rebel girl, rebel girl,
  3121.             .apple.com              Rebel girl you are the queen of my world
  3122.  
  3123. ---------------------------
  3124.  
  3125. End of C.S.M.P. Digest
  3126. **********************
  3127.  
  3128.  
  3129. ˇ